diff options
author | Perl 5 Porters <perl5-porters@africa.nicoh.com> | 1997-04-03 10:03:25 +1200 |
---|---|---|
committer | Chip Salzenberg <chip@atlantic.net> | 1997-04-03 10:03:25 +1200 |
commit | 5aabfad66ac77650f584e2f07af91645e19fe296 (patch) | |
tree | ac96571984ba780e9ae7736cfe85dd17f6cfd865 /t | |
parent | 4a6725af9146bd7faaa10aa5429ff009d393fd6d (diff) | |
download | perl-5aabfad66ac77650f584e2f07af91645e19fe296.tar.gz |
[inseparable changes from match from perl-5.003_97 to perl-5.003_97a]
CORE PORTABILITY
Subject: Add support for Cygwin32 (GNU-Win32) -- very low impact
Date: Thu, 3 Apr 1997 09:21:17 +0100
From: John Cerney <j-cerney1@ti.com>
Files: MANIFEST README.cygwin32 cygwin32/cw32imp.h cygwin32/gcc2 cygwin32/ld2 cygwin32/perlgcc cygwin32/perlld ext/DynaLoader/dl_cygwin32.xs hints/cygwin32.sh perl.h pp_sys.c
Msg-ID: 199704030821.JAA08762@pluto.tiuk.ti.com
(applied based on p5p patch as commit 2a079e0090406b1b2e50643540f149206c9e9de8)
Subject: Win32 update (six patches)
From: Gurusamy Sarathy <gsar@engin.umich.edu>
Files: MANIFEST README.win32 dosish.h t/io/fs.t t/io/tell.t t/lib/io_tell.t t/op/magic.t t/op/mkdir.t t/op/runlevel.t t/op/stat.t t/op/taint.t win32/Makefile win32/VC-2.0/pod.mak win32/makedef.pl win32/pod.mak win32/win32.c win32/win32.h win32/win32io.c win32/win32io.h win32/win32iop.h
LIBRARY AND EXTENSIONS
Subject: Math::Trig, based on (and from an author of) Math::Complex
From: Chip Salzenberg <chip@perl.com>
Files: MANIFEST lib/Math/Complex.pm lib/Math/Trig.pm pod/perldelta.pod t/lib/complex.t t/lib/trig.t
OTHER CORE CHANGES
Subject: Fix const-sub-related panic on C<sub foo { my $x; 0 } foo>
From: Chip Salzenberg <chip@perl.com>
Files: op.c
Subject: Fix warning for useless C<1..2>
From: Chip Salzenberg <chip@perl.com>
Files: op.c
Subject: Minor cleanups
Date: Thu, 03 Apr 1997 19:56:57 -0500
From: Gurusamy Sarathy <gsar@engin.umich.edu>
Files: mg.c mg.h perl.c
Msg-ID: 199704040056.TAA22253@aatma.engin.umich.edu
(applied based on p5p patch as commit 609794497049cf42bdd2396c04cbb7728e10374d)
Subject: Eliminate unreliable warning with %SIG and strict refs
From: Chip Salzenberg <chip@perl.com>
Files: mg.c
Subject: Fix impossible test in vivification
From: Chip Salzenberg <chip@perl.com>
Files: mg.c
Diffstat (limited to 't')
-rwxr-xr-x | t/io/fs.t | 3 | ||||
-rwxr-xr-x | t/io/tell.t | 2 | ||||
-rwxr-xr-x | t/lib/complex.t | 10 | ||||
-rwxr-xr-x | t/lib/io_tell.t | 2 | ||||
-rw-r--r-- | t/lib/trig.t | 54 | ||||
-rwxr-xr-x | t/op/magic.t | 4 | ||||
-rwxr-xr-x | t/op/mkdir.t | 2 | ||||
-rwxr-xr-x | t/op/runlevel.t | 2 | ||||
-rwxr-xr-x | t/op/stat.t | 15 | ||||
-rwxr-xr-x | t/op/taint.t | 27 |
10 files changed, 93 insertions, 28 deletions
@@ -9,6 +9,9 @@ BEGIN { use Config; +# avoid win32 (for now) +do { print "1..0\n"; exit(0); } if $^O eq 'MSWin32'; + print "1..26\n"; $wd = (($^O eq 'MSWin32') ? `cd` : `pwd`); diff --git a/t/io/tell.t b/t/io/tell.t index 5badafeacb..83904e88bb 100755 --- a/t/io/tell.t +++ b/t/io/tell.t @@ -7,7 +7,7 @@ print "1..13\n"; $TST = 'tst'; open($TST, '../Configure') || (die "Can't open ../Configure"); - +binmode $TST if $^O eq 'MSWin32'; if (eof(tst)) { print "not ok 1\n"; } else { print "ok 1\n"; } $firstline = <$TST>; diff --git a/t/lib/complex.t b/t/lib/complex.t index 3bb52c0b5b..46114fbf5b 100755 --- a/t/lib/complex.t +++ b/t/lib/complex.t @@ -2,19 +2,21 @@ # $RCSfile$ # -# Regression tests for the new Math::Complex pacakge -# -- Raphael Manfredi, Septemeber 1996 -# -- Jarkko Hietaniemi Manfredi, March 1997 +# Regression tests for the Math::Complex pacakge +# -- Raphael Manfredi, September 1996 +# -- Jarkko Hietaniemi, March 1997 + BEGIN { chdir 't' if -d 't'; @INC = '../lib'; } + use Math::Complex; $test = 0; $| = 1; @script = (); -my $eps = 1e-4; # for example root() is quite bad +my $eps = 1e-11; while (<DATA>) { s/^\s+//; diff --git a/t/lib/io_tell.t b/t/lib/io_tell.t index f45d21e095..d8ebae24fd 100755 --- a/t/lib/io_tell.t +++ b/t/lib/io_tell.t @@ -27,7 +27,7 @@ print "1..13\n"; use IO::File; $tst = IO::File->new("$tell_file","r") || die("Can't open $tell_file"); - +binmode $tst if $^O eq 'MSWin32'; if ($tst->eof) { print "not ok 1\n"; } else { print "ok 1\n"; } $firstline = <$tst>; diff --git a/t/lib/trig.t b/t/lib/trig.t new file mode 100644 index 0000000000..57746fdcd4 --- /dev/null +++ b/t/lib/trig.t @@ -0,0 +1,54 @@ +#!./perl + +# +# Regression tests for the Math::Trig package +# +# The tests are quite modest as the Math::Complex tests exercise +# these quite vigorously. +# +# -- Jarkko Hietaniemi, April 1997 + +BEGIN { + chdir 't' if -d 't'; + @INC = '../lib'; +} + +use Math::Trig; + +use strict; + +use vars qw($x $y $z); + +my $eps = 1e-11; + +sub near ($$;$) { + abs($_[0] - $_[1]) < (defined $_[2] ? $_[2] : $eps); +} + +print "1..6\n"; + +$x = 0.9; +print 'not ' unless (near(tan($x), sin($x) / cos($x))); +print "ok 1\n"; + +print 'not ' unless (near(sinh(2), 3.62686040784702)); +print "ok 2\n"; + +print 'not ' unless (near(acsch(0.1), 2.99822295029797)); +print "ok 3\n"; + +$x = asin(2); +print 'not ' unless (ref $x eq 'Math::Complex'); +print "ok 4\n"; + +# avoid using Math::Complex here +$x =~ /^([^-]+)(-[^i]+)i$/; +($y, $z) = ($1, $2); +print 'not ' unless (near($y, 1.5707963267949) and + near($z, -1.31695789692482)); +print "ok 5\n"; + +print 'not ' unless (near(deg_to_rad(90), pi/2)); +print "ok 6\n"; + +# eof diff --git a/t/op/magic.t b/t/op/magic.t index b338d9600a..c2be2e5e68 100755 --- a/t/op/magic.t +++ b/t/op/magic.t @@ -94,9 +94,9 @@ ok 13, (keys %h)[0] eq "foo\034bar", (keys %h)[0]; } # $?, $@, $$ -system "$PERL -e 'exit(0)'"; +system qq[$PERL -e "exit(0)"]; ok 15, $? == 0, $?; -system "$PERL -e 'exit(1)'"; +system qq[$PERL -e "exit(1)"]; ok 16, $? != 0, $?; eval { die "foo\n" }; diff --git a/t/op/mkdir.t b/t/op/mkdir.t index 1ffeaa1d66..5a6dfe5f5c 100755 --- a/t/op/mkdir.t +++ b/t/op/mkdir.t @@ -4,7 +4,7 @@ print "1..7\n"; -$^O eq 'MSWin32' ? `cmd /x /c del /s /q blurfl` : `rm -rf blurfl`; +$^O eq 'MSWin32' ? `del /s /q blurfl 2>&1` : `rm -rf blurfl`; print (mkdir('blurfl',0777) ? "ok 1\n" : "not ok 1\n"); print (mkdir('blurfl',0777) ? "not ok 2\n" : "ok 2\n"); diff --git a/t/op/runlevel.t b/t/op/runlevel.t index 336b164f5d..2be2eec019 100755 --- a/t/op/runlevel.t +++ b/t/op/runlevel.t @@ -258,7 +258,7 @@ package main; open FH, ">&STDOUT"; tie *FH, TEST; print FH "OK\n"; -print "DONE\n"; +print STDERR "DONE\n"; EXPECT PRINT CALLED DONE diff --git a/t/op/stat.t b/t/op/stat.t index 0713007db5..84c5283ce5 100755 --- a/t/op/stat.t +++ b/t/op/stat.t @@ -27,7 +27,8 @@ $junk = `ls Op.stat.tmp` unless $Is_MSWin32; ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime, $blksize,$blocks) = stat(FOO); if ($nlink == 1) {print "ok 1\n";} else {print "not ok 1\n";} -if ($mtime && $mtime == $ctime) {print "ok 2\n";} else {print "not ok 2\n";} +if ($Is_MSWin32 || ($mtime && $mtime == $ctime)) {print "ok 2\n";} +else {print "# |$mtime| vs |$ctime|\nnot ok 2\n";} print FOO "Now is the time for all good men to come to.\n"; close(FOO); @@ -42,16 +43,16 @@ else { ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime, $blksize,$blocks) = stat('Op.stat.tmp'); -if ($Config{dont_use_nlink} || $nlink == 2) - {print "ok 3\n";} else {print "not ok 3\n";} +if ($Is_MSWin32 || $Config{dont_use_nlink} || $nlink == 2) + {print "ok 3\n";} else {print "# \$nlink is |$nlink|\nnot ok 3\n";} -if (($mtime && $mtime != $ctime) || $cwd =~ m#/afs/# || $^O eq 'amigaos') { +if ($Is_MSWin32 || ($mtime && $mtime != $ctime) || $cwd =~ m#/afs/# || $^O eq 'amigaos') { print "ok 4\n"; } else { print "not ok 4\n"; - print '#4 If test op/stat.t fails test 4, check if you are on a tmpfs'; - print '#4 of some sort. Building in /tmp sometimes has this problem.'; + print "#4 If test op/stat.t fails test 4, check if you are on a tmpfs\n"; + print "#4 of some sort. Building in /tmp sometimes has this problem.\n"; } print "#4 :$mtime: != :$ctime:\n"; @@ -84,7 +85,7 @@ foreach ((12,13,14,15,16,17)) { chmod 0700,'Op.stat.tmp'; if (-r 'Op.stat.tmp') {print "ok 18\n";} else {print "not ok 18\n";} if (-w 'Op.stat.tmp') {print "ok 19\n";} else {print "not ok 19\n";} -if (-x 'Op.stat.tmp') {print "ok 20\n";} else {print "not ok 20\n";} +if ($Is_MSWin32 or -x 'Op.stat.tmp') {print "ok 20\n";} else {print "not ok 20\n";} if (-f 'Op.stat.tmp') {print "ok 21\n";} else {print "not ok 21\n";} if (! -d 'Op.stat.tmp') {print "ok 22\n";} else {print "not ok 22\n";} diff --git a/t/op/taint.t b/t/op/taint.t index d0ba887948..81d698ae8b 100755 --- a/t/op/taint.t +++ b/t/op/taint.t @@ -72,7 +72,7 @@ sub test ($$;$) { } # We need an external program to call. -my $ECHO = "./echo$$"; +my $ECHO = ($Is_MSWin32 ? ".\\echo$$" : "./echo$$"); END { unlink $ECHO } open PROG, "> $ECHO" or die "Can't create $ECHO: $!"; print PROG 'print "@ARGV\n"', "\n"; @@ -87,18 +87,23 @@ print "1..112\n"; { $ENV{'DCL$PATH'} = '' if $Is_VMS; - $ENV{PATH} = $TAINT; - $ENV{IFS} = " \t\n"; - test 1, eval { `$echo 1` } eq ''; - test 2, $@ =~ /^Insecure \$ENV{PATH}/, $@; - - $ENV{PATH} = ''; - $ENV{IFS} = $TAINT; - test 3, eval { `$echo 1` } eq ''; - test 4, $@ =~ /^Insecure \$ENV{IFS}/, $@; + if ($Is_MSWin32) { + print "# PATH/IFS tainting tests skipped\n"; + for (1..4) { print "ok $_\n" } + } + else { + $ENV{PATH} = $TAINT; + $ENV{IFS} = " \t\n"; + test 1, eval { `$echo 1` } eq ''; + test 2, $@ =~ /^Insecure \$ENV{PATH}/, $@; + $ENV{PATH} = ''; + $ENV{IFS} = $TAINT; + test 3, eval { `$echo 1` } eq ''; + test 4, $@ =~ /^Insecure \$ENV{IFS}/, $@; + } my $tmp; - if ($^O eq 'os2' || $^O eq 'amigaos') { + if ($^O eq 'os2' || $^O eq 'amigaos' || $Is_MSWin32) { print "# all directories are writeable\n"; } else { |