Change 30276 by [EMAIL PROTECTED] on 2007/02/14 00:01:04

        Integrate:
        [ 29215]
        Subject: Re: [perl #26136] localtime(3) calls tzset(3), but 
localtime_r(3) may not.
        From: SADAHIRO Tomoyuki <[EMAIL PROTECTED]>
        Date: Mon, 06 Nov 2006 23:31:50 +0900
        Message-Id: <[EMAIL PROTECTED]>
        
        [ 29712]
        fix occasional op/time.t failure
        test 2 uses far more sys than user time, so it's possible to burn
        20 secs of wall time without an apparent increase in user time

Affected files ...

... //depot/maint-5.8/perl/t/op/time.t#6 integrate
... //depot/perl/t/lib/common.pl#10 edit

Differences ...

==== //depot/maint-5.8/perl/t/op/time.t#6 (xtext) ====
Index: perl/t/op/time.t
--- perl/t/op/time.t#5~30239~   2007-02-12 12:04:15.000000000 -0800
+++ perl/t/op/time.t    2007-02-13 16:01:04.000000000 -0800
@@ -1,26 +1,14 @@
 #!./perl
 
-if ( $does_gmtime = gmtime(time) ) { 
-    print "1..8\n" 
-}
-else { 
-    print "1..5\n" 
-}
-
-
-my $test = 1;
-sub ok ($$) {
-    my($ok, $name) = @_;
-
-    # You have to do it this way or VMS will get confused.
-    print $ok ? "ok $test - $name\n" : "not ok $test - $name\n";
+$does_gmtime = gmtime(time);
 
-    printf "# Failed test at line %d\n", (caller)[2] unless $ok;
-
-    $test++;
-    return $ok;
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+    require './test.pl';
 }
 
+plan tests => 8;
 
 ($beguser,$begsys) = times;
 
@@ -31,6 +19,7 @@
 ok($now > $beg && $now - $beg < 10,             'very basic time test');
 
 for ($i = 0; $i < 1_000_000; $i++) {
+    for my $j (1..100) {}; # burn some user cycles
     ($nowuser, $nowsys) = times;
     $i = 2_000_000 if $nowuser > $beguser && ( $nowsys >= $begsys ||
                                             (!$nowsys && !$begsys));
@@ -52,14 +41,23 @@
    'localtime(), scalar context'
   );
 
+SKIP: {
+    # This conditional of "No tzset()" is stolen from ext/POSIX/t/time.t
+    skip "No tzset()", 1
+        if $^O eq "MacOS" || $^O eq "VMS" || $^O eq "cygwin" ||
+           $^O eq "djgpp" || $^O eq "MSWin32" || $^O eq "dos" ||
+           $^O eq "interix";
+
 # check that localtime respects changes to $ENV{TZ}
 $ENV{TZ} = "GMT-5";
 ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($beg);
 $ENV{TZ} = "GMT+5";
 ($sec,$min,$hour2,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($beg);
 ok($hour != $hour2,                             'changes to $ENV{TZ} 
respected');
+}
 
-exit 0 unless $does_gmtime;
+SKIP: {
+    skip "No gmtime()", 3 unless $does_gmtime;
 
 ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = gmtime($beg);
 ($xsec,$foo) = localtime($now);
@@ -78,3 +76,4 @@
                /x,
    'gmtime(), scalar context'
   );
+}

==== //depot/perl/t/lib/common.pl#10 (text) ====
Index: perl/t/lib/common.pl
--- perl/t/lib/common.pl#9~30136~       2007-02-05 10:53:18.000000000 -0800
+++ perl/t/lib/common.pl        2007-02-13 16:01:04.000000000 -0800
@@ -16,8 +16,8 @@
 
 my $Is_MacOS = $^O eq 'MacOS';
 my $tmpfile = "tmp0000";
-1 while -e ++$tmpfile;
-END { 1 while unlink $tmpfile }
+# 1 while -e ++$tmpfile;
+# END { 1 while unlink $tmpfile }
 
 my @prgs = () ;
 my @w_files = () ;
End of Patch.

Reply via email to