Once again syncing after too long an absence
[p5sagit/p5-mst-13.2.git] / t / lib / dprof.t
index 10c9b0f..be711f1 100755 (executable)
@@ -11,7 +11,8 @@ BEGIN {
 }
 
 END {
-    unlink 'tmon.out', 'err';
+    while(-e 'tmon.out' && unlink 'tmon.out') {}
+    while(-e 'err' && unlink 'err') {}
 }
 
 use Benchmark qw( timediff timestr );
@@ -22,7 +23,7 @@ getopts('vI:p:');
 # -I   Add to @INC
 # -p   Name of perl binary
 
-@tests = @ARGV ? @ARGV : sort <lib/dprof/*_t lib/dprof/*_v>;  # glob-sort, for OS/2
+@tests = @ARGV ? @ARGV : sort (<lib/dprof/*_t>, <lib/dprof/*_v>);  # glob-sort, for OS/2
 
 $path_sep = $Config{path_sep} || ':';
 $perl5lib = $opt_I || join( $path_sep, @INC );
@@ -46,7 +47,7 @@ sub profile {
        my $opt_d = '-d:DProf';
 
        my $t_start = new Benchmark;
-       open( R, "$perl $opt_d $test |" ) || warn "$0: Can't run. $!\n";
+        open( R, "$perl \"$opt_d\" $test |" ) || warn "$0: Can't run. $!\n";
        @results = <R>;
        close R;
        my $t_total = timediff( new Benchmark, $t_start );
@@ -56,15 +57,17 @@ sub profile {
                print @results
        }
 
-       print timestr( $t_total, 'nop' ), "\n";
+        print '# ',timestr( $t_total, 'nop' ), "\n";
 }
 
 
 sub verify {
        my $test = shift;
 
-       system $perl, '-I../lib', '-I./lib/dprof', $test,
-               $opt_v?'-v':'', '-p', $perl;
+       my $command = $perl.' "-I../lib" "-I./lib/dprof" '.$test;
+       $command .= ' -v' if $opt_v;
+       $command .= ' -p '. $perl;
+       system $command;
 }
 
 
@@ -72,6 +75,7 @@ $| = 1;
 print "1..18\n";
 while( @tests ){
        $test = shift @tests;
+        $test =~ s/\.$// if $^O eq 'VMS';
        if( $test =~ /_t$/i ){
                print "# $test" . '.' x (20 - length $test);
                profile $test;