fix codetest failure - ASSERT_ARGS does not have a ; after and
[parrot.git] / t / pmc / schedulermessage.t
blob548e60fcb5408f4bec3d72b9366257bc8e9c39e0
1 #!./parrot
2 # Copyright (C) 2008-2010, Parrot Foundation.
3 # $Id$
5 =head1 NAME
7 t/pmc/schedulermessage - test the SchedulerMessage PMC
9 =head1 SYNOPSIS
11     % prove t/pmc/schedulermessage.t
13 =head1 DESCRIPTION
15 Tests the SchedulerMessage PMC.
17 =cut
19 .include 'except_types.pasm'
21 .sub main :main
22     .include 'test_more.pir'
24     plan(8)
26     init_check()
27     type_and_id_tests()
28     freeze_thaw_tests()
29     hash_tests()
30 .end
32 .sub init_check
33     new $P0, ['SchedulerMessage']
34     ok(1, 'Instantiated SchedulerMessage PMC')
36     .local pmc eh
37     eh = new ['ExceptionHandler']
38     eh.'handle_types'(.EXCEPTION_INVALID_OPERATION)
39     set_addr eh, catch
40     push_eh eh
41     $I0 = 1
42     $P1 = new ['Integer']
43     $P0 = new ['SchedulerMessage'], $P1
44     $I0 = 0
45     goto check
46 catch:
47     finalize eh
48 check:
49     pop_eh
50     ok($I0, 'initializing with invalid type throws')
51 .end
53 .sub type_and_id_tests
54     $P0 = new ['SchedulerMessage']
55     $P0 = 2345
56     $P0 = "some kinda message"
58     $S0 = $P0
59     is($S0 , "some kinda message", "scheduler message type stored/retrieved successfully")
61     $I0 = $P0
62     is($I0, 2345, "scheduler id type stored/retrieved successfully")
64 .end
66 .sub freeze_thaw_tests
67     $P0 = new ['SchedulerMessage']
68     $P0 = 86
69     $P0 = "Smart message"
71     $S0 = freeze $P0
72     $P1 = thaw $S0
74     $S0 = $P1
75     is($S0, "Smart message", "frozen message has correct type")
77     $I0 = $P1
78     is($I0, 86, "frozen message has correct id")
80 .end
83 .sub hash_tests
84     $P0 = new ['Hash']
85     $P0['id'] = 9
86     $P0['type'] = 'nine'
88     $P1 = new ['SchedulerMessage'], $P0
90     # Make sure the mark vtable function is exercised.
91     null $P0
92     sweep 1
94     $S0 = $P1
95     is($S0, "nine", "hash-initialized message has correct type")
97     $I0 = $P1
98     is($I0, 9, "hash-initialized message has correct id")
99 .end
101 # Local Variables:
102 #   mode: pir
103 #   fill-column: 100
104 # End:
105 # vim: expandtab shiftwidth=4 ft=pir: