On Tue, 28 Aug 2001, Michael G Schwern wrote: > > Shell Ok this one is a little basic and it will need refining for the platforms I dont have access to - but it works where I can test it : --- MANIFEST~ Wed Aug 29 09:20:48 2001 +++ MANIFEST Wed Aug 29 09:17:30 2001 @@ -1084,6 +1084,7 @@ lib/SelfLoader.pm Load functions only on demand lib/SelfLoader.t See if SelfLoader works lib/Shell.pm Make AUTOLOADed system() calls +lib/Shell.t Tests for above lib/shellwords.pl Perl library to split into words with shell quoting lib/sigtrap.pm For trapping an abort and giving traceback lib/stat.pl Perl library supporting stat function --- /dev/null Thu Aug 24 10:00:32 2000 +++ lib/Shell.t Wed Aug 29 08:26:12 2001 @@ -0,0 +1,59 @@ +#!./perl + +use Test::More tests => 4; + +BEGIN { use_ok('Shell'); } + +my $Is_VMS = $^O eq 'VMS'; +my $Is_MSWin32 = $^O eq 'MSWin32'; +my $Is_NetWare = $^O eq 'NetWare'; + +$Shell::capture_stderr = 1; # + +# Now test that that works .. + +my $tmpfile = 'sht0001'; + +while ( -f $tmpfile ) +{ + $tmpfile++; +} + +END { -f $tmpfile && unlink $tmpfile }; + + + +open(SAVERR,">&STDERR") ; +open(STDERR, ">$tmpfile"); + +xXx(); # Ok someone could have a program called this :( + +ok( !(-s $tmpfile) ,'$Shell::capture_stderr'); + +$Shell::capture_stderr = 0; # + +# someone will have to fill in the blanks for other platforms + +if ( $Is_VMS ) +{ + skip "Please implement VMS test", 2; + ok(1); + ok(1); +} +elsif( $Is_MSWin32 ) +{ + ok(dir(),'Execute command'); + + my @files = dir('*.*'); + + ok(@files, 'Quoted arguments'); +} +else +{ + ok(ls(),'Execute command'); + + my @files = ls('*'); + + ok(@files,'Quoted arguments'); + +} /J\ -- Jonathan Stowe | <http://www.gellyfish.com> | This space for rent |Thread Previous | Thread Next