| 1 | #!perl |
| 2 | |
| 3 | @TODO = qw [ SAVEt_READONLY_OFF SAVEt_SAVESWITCHSTACK |
| 4 | SAVEt_STACK_CXPOS ]; |
| 5 | @TODO{@TODO} = (); |
| 6 | |
| 7 | BEGIN { chdir 't'; require './test.pl' } |
| 8 | |
| 9 | sub read_cases { |
| 10 | my ($file, $func) = @_; |
| 11 | |
| 12 | open my $fh, $file or die "$0 cannot open $file: $!"; |
| 13 | |
| 14 | while (readline $fh) { |
| 15 | last if /^Perl_$func/; |
| 16 | } |
| 17 | my %found; |
| 18 | while (readline $fh) { |
| 19 | last if /^}/; |
| 20 | $found{$1}++ if /case (SAVEt_\w*):/; |
| 21 | } |
| 22 | close $fh or die "$0 cannot close $file: $!"; |
| 23 | \%found; |
| 24 | } |
| 25 | |
| 26 | my $leave_scope = read_cases "../scope.c", "leave_scope"; |
| 27 | my $ss_dup = read_cases "../sv.c", "ss_dup"; |
| 28 | |
| 29 | ok scalar %$leave_scope, 'we got some'; |
| 30 | |
| 31 | for (sort keys %$leave_scope) { |
| 32 | local $::TODO = ' ' if exists $TODO{$_}; |
| 33 | ok exists $$ss_dup{$_}, "ss_dup handles $_"; |
| 34 | } |
| 35 | |
| 36 | done_testing; |