t/porting/pod_rules.t Check that various pod lists are consistent
t/porting/readme.t Check that all files in Porting/ are mentioned in Porting/README.pod
t/porting/regen.t Check that regen.pl doesn't need running
+t/porting/ss_dup.t Check that sv.c:ss_dup handle everything
t/porting/test_bootstrap.t Test that the instructions for test bootstrapping aren't accidentally overlooked.
t/porting/utils.t Check that utility scripts still compile
t/README Instructions for regression tests
--- /dev/null
+#!perl
+
+@TODO = qw [ SAVEt_ADELETE SAVEt_READONLY_OFF SAVEt_SAVESWITCHSTACK
+ SAVEt_STACK_CXPOS ];
+@TODO{@TODO} = ();
+
+BEGIN { chdir 't'; require './test.pl' }
+
+sub read_cases {
+ my ($file, $func) = @_;
+
+ open my $fh, $file or die "$0 cannot open $file: $!";
+
+ while (readline $fh) {
+ last if /^Perl_$func/;
+ }
+ my %found;
+ while (readline $fh) {
+ last if /^}/;
+ $found{$1}++ if /case (SAVEt_\w*):/;
+ }
+ close $fh or die "$0 cannot close $file: $!";
+ \%found;
+}
+
+my $leave_scope = read_cases "../scope.c", "leave_scope";
+my $ss_dup = read_cases "../sv.c", "ss_dup";
+
+ok scalar %$leave_scope, 'we got some';
+
+for (sort keys %$leave_scope) {
+ local $::TODO = ' ' if exists $TODO{$_};
+ ok exists $$ss_dup{$_}, "ss_dup handles $_";
+}
+
+done_testing;