fix codetest failure - ASSERT_ARGS does not have a ; after and
[parrot.git] / t / pmc / packfilefixuptable.t
blob33cb5c7d7da83392a853c526e103f3e9c36d7b13
1 #!./parrot
2 # Copyright (C) 2009-2010, Parrot Foundation.
3 # $Id$
5 =head1 NAME
7 t/pmc/packfilefixuptable.t - test the PackfileFixupTable PMC
10 =head1 SYNOPSIS
12     % make test_prep
13     % prove t/pmc/packfilefixuptable.t
15 =head1 DESCRIPTION
17 Tests the PackfileFixupTable PMC.
19 =cut
21 # Having some known data would be helpful, here.  For now, just make sure
22 # the values returned have the right types.
24 .include 't/pmc/testlib/packfile_common.pir'
25 .sub 'main' :main
26 .include 'test_more.pir'
27     plan(3)
29     test_unpack()
30 .end
33 # Report no ok for loading packfile failures
34 .sub report_load_error
35     .param pmc except
36     .param string desc
37     .local string msg, aux
38     msg = concat desc, ' - error loading packfile: '
39     aux = except['message']
40     msg = concat msg, aux
41     ok(0, msg)
42 .end
45 # Check unpackging FixupTable
46 .sub 'test_unpack'
47     .local pmc pf, pfdir, pftable, pfentry
48     .local int size, this, data
49     .local string name
50     push_eh load_error
51     pf      = _pbc()
52     pop_eh
53     pftable = _get_fixup_table(pf)
54     isa_ok(pftable, 'PackfileFixupTable')
56     size    = elements pftable
57     ok(size, "Got some elements")
59     this    = 0
60   loop:
61     pfentry = pftable[this]
62     name    = typeof pfentry
63     eq name, "PackfileFixupEntry", next
64     $S0 = "PackfileFixupTable["
65     $S1 = this
66     $S0 = concat $S1
67     $S0 = concat "] returned an object of type: "
68     $S0 = concat name
69     ok(0, $S0)
70     .return ()
71   next:
72     this = this + 1
73     ge this, size, done
74     goto loop
75     gt size, 0, done
76   done:
77     ok(1, "All elements of Table are Entries")
78     .return()
79 load_error:
80     .get_results($P0)
81     pop_eh
82     report_load_error($P0, "All elements of Table are Entries")
83     skip(2, "All elements of Table are Entries")
84     .return()
85 .end
87 # Local Variables:
88 #   mode: pir
89 #   fill-column: 100
90 # End:
91 # vim: expandtab shiftwidth=4 ft=pir: