This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Convert Safe's remaining hold out tests to Test::More
[perl5.git] / dist / Safe / t / safe1.t
index 385d661..f22bb1b 100644 (file)
@@ -20,11 +20,8 @@ use Opcode 1.00, qw(opdesc opset opset_to_ops opset_to_hex
        opmask_add full_opset empty_opset opcodes opmask define_optag);
 
 use Safe 1.00;
+use Test::More;
 
-my $last_test; # initalised at end
-print "1..$last_test\n";
-
-my $t = 1;
 my $cpt;
 # create and destroy some automatic Safe compartments first
 $cpt = new Safe or die;
@@ -38,30 +35,29 @@ foreach(1..3) {
 
        $cpt->share(qw($foo));
 
-       print ${$cpt->varglob('foo')}       == 42 ? "ok $t\n" : "not ok $t\n"; $t++;
+       is(${$cpt->varglob('foo')}, 42);
 
        ${$cpt->varglob('foo')} = 9;
 
-       print $foo == 9 ? "ok $t\n" : "not ok $t\n"; $t++;
-
-       print $cpt->reval('$foo')       == 9    ? "ok $t\n" : "not ok $t\n"; $t++;
-       # check 'main' has been changed:
-       print $cpt->reval('$::foo')     == 9    ? "ok $t\n" : "not ok $t\n"; $t++;
-       print $cpt->reval('$main::foo') == 9    ? "ok $t\n" : "not ok $t\n"; $t++;
-       # check we can't see our test package:
-       print $cpt->reval('$test::foo')         ? "not ok $t\n" : "ok $t\n"; $t++;
-       print $cpt->reval('${"test::foo"}')             ? "not ok $t\n" : "ok $t\n"; $t++;
+       is($foo, 9);
 
-       $cpt->erase;    # erase the compartment, e.g., delete all variables
+       is($cpt->reval('$foo'), 9);
+       is($cpt->reval('$::foo'), 9, "check 'main' has been changed");
+       is($cpt->reval('$main::foo'), 9, "check 'main' has been changed");
+       is($cpt->reval('$test::foo'), undef,
+          "check we can't see our test package");
+       is($cpt->reval('${"test::foo"}'), undef,
+          "check we can't see our test package");
 
-       print $cpt->reval('$foo') ? "not ok $t\n" : "ok $t\n"; $t++;
+       $cpt->erase;
+       is($cpt->reval('$foo'), undef,
+          'erasing the compartment deleted all variables');
 
        # Note that we *must* use $cpt->varglob here because if we used
        # $Root::foo etc we would still see the original values!
        # This seems to be because the compiler has created an extra ref.
 
-       print ${$cpt->varglob('foo')} ? "not ok $t\n" : "ok $t\n"; $t++;
+       is(${$cpt->varglob('foo')}, undef);
 }
 
-print "ok $last_test\n";
-BEGIN { $last_test = 28 }
+done_testing();