fix codetest failure - ASSERT_ARGS does not have a ; after and
[parrot.git] / t / pmc / packfilefixupentry.t
blob727ae93f3d876d120fd68e6f6aabf238d841ccb6
1 #!./parrot
2 # Copyright (C) 2009-2010, Parrot Foundation.
3 # $Id$
5 =head1 NAME
7 t/pmc/packfilefixupentry.t - test the PackfileFixupEntry PMC
9 =head1 SYNOPSIS
11     % make test_prep
12     % prove t/pmc/packfilefixupentry.t
14 =head1 DESCRIPTION
16 Tests the PackfileFixupEntry PMC.
18 =cut
20 # Having some known data would be helpful, here.  For now, just make sure
21 # the values returned seem sane.
23 .include 't/pmc/testlib/packfile_common.pir'
25 .sub 'main' :main
26 .include 'test_more.pir'
27     plan(3)
28     test_sanity()
29     test_sanity_entry()
30     test_methods()
31 .end
35 # sanity check we start with a PackfileFixupTable
36 .sub 'test_sanity'
37     .local pmc pf, pftable
38     .local string name
39     push_eh load_error
40     pf      = _pbc()
41     pop_eh
42     pftable = _get_fixup_table(pf)
43     isa_ok(pftable, 'PackfileFixupTable')
44     .return()
45 load_error:
46     .get_results($P0)
47     pop_eh
48     report_load_error($P0, 'PackfileFixupTable')
49     .return()
50 .end
53 # sanity check we end up with a PackfileFixupTable
54 .sub 'test_sanity_entry'
55     .local pmc pf, pftable, pfentry
56     .local string name
57     push_eh load_error
58     pf      = _pbc()
59     pop_eh
60     pftable = _get_fixup_table(pf)
61     pfentry = pftable[0]
62     isa_ok(pfentry, 'PackfileFixupEntry')
63     .return()
64 load_error:
65     .get_results($P0)
66     pop_eh
67     report_load_error($P0, 'PackfileFixupEntry')
68     .return()
69 .end
72 # PackfileFixupEntry methods .get_string(), .get_integer(), .get_type()
73 .sub 'test_methods'
74     .local pmc pf, pftable, pfentry
75     .local int size, this, data
76     .local string name, label
77     push_eh load_error
78     pf      = _pbc()
79     pop_eh
80     pftable = _get_fixup_table(pf)
81     size    = elements pftable
82     this    = 0
83   loop:
84     pfentry = pftable[this]
85     name    = typeof pfentry
86     eq name, "PackfileFixupEntry", next
87     $S0 = "PackfileFixupTable["
88     $S1 = this
89     $S0 = concat $S1
90     $S0 = concat "] returned an object of type: "
91     $S0 = concat name
92     ok(0, $S0)
93     .return ()
94   next:
95     this = this + 1
96     ge this, size, done
97     goto loop
98     gt size, 0, done
99   done:
100     ok(1, "Got entries")
101     .return()
102 load_error:
103     .get_results($P0)
104     pop_eh
105     report_load_error($P0, "Got entries")
106     .return()
107 .end
109 # Local Variables:
110 #   mode: pir
111 #   fill-column: 100
112 # End:
113 # vim: expandtab shiftwidth=4 ft=pir: