2 # Copyright (C) 2001-2005, The Perl Foundation.
7 use lib qw( . lib ../lib ../../lib );
9 use Parrot::Test tests => 8;
13 t/pmc/timer.t - Timer PMCs
25 my %platforms = map { $_ => 1 } qw/
38 pasm_output_is( <<'CODE', <<'OUT', "Timer setup" );
41 set P0[.PARROT_TIMER_SEC], 7
42 set I0, P0[.PARROT_TIMER_SEC]
47 set I0, P0[.PARROT_TIMER_USEC]
53 set I0, P0[.PARROT_TIMER_RUNNING]
65 pasm_output_is( <<'CODE', <<'OUT', "Timer setup - initializer" );
69 set P1[0], .PARROT_TIMER_SEC
71 set P1[2], .PARROT_TIMER_USEC
75 set I0, P0[.PARROT_TIMER_SEC]
80 set I0, P0[.PARROT_TIMER_USEC]
88 set I0, P0[.PARROT_TIMER_RUNNING]
101 skip( "No thread config yet", 5 ) unless ( $platforms{$^O} );
103 pasm_output_is( <<'CODE', <<'OUT', "Timer setup - initializer/start" );
104 .include "timer.pasm"
107 set P1[0], .PARROT_TIMER_NSEC
109 set P1[2], .PARROT_TIMER_HANDLER
110 find_global P2, "_timer_sub"
112 set P1[4], .PARROT_TIMER_RUNNING
129 pasm_output_is( <<'CODE', <<'OUT', "Timer setup - initializer/start/stop" );
130 .include "timer.pasm"
133 set P1[0], .PARROT_TIMER_NSEC
135 set P1[2], .PARROT_TIMER_HANDLER
136 find_global P2, "_timer_sub"
138 set P1[4], .PARROT_TIMER_RUNNING
144 set P0[.PARROT_TIMER_RUNNING], 0
156 pasm_output_is( <<'CODE', <<'OUT', "Timer setup - initializer/start/repeat" );
157 .include "timer.pasm"
160 set P1[0], .PARROT_TIMER_NSEC
162 set P1[2], .PARROT_TIMER_HANDLER
163 find_global P2, "_timer_sub"
165 set P1[4], .PARROT_TIMER_REPEAT
167 set P1[6], .PARROT_TIMER_RUNNING
186 pasm_output_is( <<'CODE', <<'OUT', "Timer setup - initializer/start/destroy" );
187 .include "timer.pasm"
190 set P1[0], .PARROT_TIMER_NSEC
192 set P1[2], .PARROT_TIMER_HANDLER
193 find_global P2, "_timer_sub"
195 set P1[4], .PARROT_TIMER_RUNNING
217 pasm_output_is( <<'CODE', <<'OUT', "Timer setup - timer in array destroy" );
218 .include "timer.pasm"
221 set P1[0], .PARROT_TIMER_NSEC
223 set P1[2], .PARROT_TIMER_HANDLER
224 find_global P2, "_timer_sub"
226 set P1[4], .PARROT_TIMER_RUNNING
232 # hide timer in array
236 # un-anchor the array
252 pir_output_is( << 'CODE', << 'OUTPUT', "check whether interface is done" );
258 does bool1, pmc1, "scalar"
261 does bool1, pmc1, "event"
264 does bool1, pmc1, "no_interface"
277 # cperl-indent-level: 4
280 # vim: expandtab shiftwidth=4: