X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/685d49b0d313553e4685c98b896b06f9a8f97f5c..bfded142dc88f72fb1a1f7b8411413e294da0116:/buildtools/Cmake/tesh.pl diff --git a/buildtools/Cmake/tesh.pl b/buildtools/Cmake/tesh.pl index 85ccacc6f9..d4e4c99555 100644 --- a/buildtools/Cmake/tesh.pl +++ b/buildtools/Cmake/tesh.pl @@ -1,106 +1,78 @@ -#!perl -w -use strict; -use IPC::Open3; - -if($#ARGV!=1) { - die "Usage: perl tesh.pl \n"; -} - -my($directory)=$ARGV[0]; -my($file)=$ARGV[1]; - -chdir("$directory"); -print "Change directory to \"$directory\"\n"; - -open SH_LIGNE, $file or die "Unable to open $file. $!\n"; - -my($line1); -my($line2); -my($execline); -my($ok)=0; -my(@result)=(); - -while(defined($line1=)) -{ - if($line1 =~ /^\$(.*)$/) #command line - { - $ok = 1; - @result = (); - $line1 =~ s/\$\{srcdir\:\=\.\}/./g; - $line1 =~ s/\$SG_TEST_EXENV//g; - $line1 =~ s/\$EXEEXT//g; - $line1 =~ s/\${EXEEXT:=}//g; - $line1 =~ s/^\$\ */.\//g; - $line1 =~ s/^.\/lua/lua/g; - $line1 =~ s/^.\/ruby/ruby/g; - chomp $line1; - $execline = $line1; - close(FILE_ERR); - close(FILE); - open3("&STDIN",\*FILE,\*FILE_ERR,"$execline") or die "cannot run $execline:\n$!"; - print "$execline"; - - } - elsif($line1 =~ /^\>(.*)$/) #expected result line - { - if($ok == 0){die "No command line$!";} - $line1 =~ s/^\> //g; - chomp $line1; - - if($line1 =~ /^.*\[.*\].*\[.*\/INFO\]/) - { - if(!defined($line2=)){die "Don't have FILE_ERR$!";} - } - else - { - if(!defined($line2=)){die "Don't have FILE$!";} - } - - if($line2 =~ /^.*$/) #command result line - { - $line2 =~ s/\r//g; - chomp $line2; - - if($line2 eq $line1) - { - push @result, "$line1 \n"; - } - else - { - print @result; - print "- $line1\n"; - print "+ $line2\n"; - print " NOK"; - die; - } - } - else - { - print @result; - print "- $line1\n"; - print "+ $line2\n"; - print " NOK"; - die; - } - } - else - { - if($ok == 1) - { - print " OK\n"; - $ok = 0; - } - else - { - print " erreur\n"; - } - } -} -if($ok == 1) -{ - print " OK\n"; - $ok = 0; -} -close(SH_LIGNE); -close(FILE_ERR); +#!perl -w +use strict; + +if($#ARGV!=1){die "Usage: perl tesh.pl \n";} +my($directory)=$ARGV[0]; +my($file)=$ARGV[1]; +my($line1); +my($line2); +my($execline); +my($ok)=0; +chdir("$directory"); +print "Change directory to \"$directory\"\n"; + +open SH_LIGNE, $file or die "Unable to open $file. $!\n"; + +while(defined($line1=)) +{ + if($line1 =~ /^\$/){ #command line + $ok = 1; + $line1 =~ s/\$\{srcdir\:\=\.\}/./g; + $line1 =~ s/\$SG_TEST_EXENV//g; + $line1 =~ s/\$SG_EXENV_TEST//g; + $line1 =~ s/\$EXEEXT//g; + $line1 =~ s/\${EXEEXT:=}//g; + $line1 =~ s/^\$\ *//g; + $line1 =~ s/^.\/lua/lua/g; + $line1 =~ s/^.\/ruby/ruby/g; + chomp $line1; + $execline = $line1; + print "$execline\n"; + system "$execline 1>output_tesh.txt 2>output_tesh_err.txt"; + close(FILE_ERR); + close(FILE); + open (FILE, "output_tesh.txt"); + open (FILE_ERR, "output_tesh_err.txt");} + + if($line1 =~ /^\>/){ #expected result line + if($ok == 0){die "No command line$!";} + $line1 =~ s/^\> //g; + $line1 =~ s/\r//g; + chomp $line1; + + if($line1 =~ /^.*\[.*\].*\[.*\/INFO\].*$/) + {if(!defined($line2=)) + { print "- $line1\n"; + die;}} + elsif($line1 =~ /^.*\[.*\].*\[.*\/WARNING\].*$/) + {if(!defined($line2=)) + { print "- $line1\n"; + die;}} + elsif($line1 =~ /^.*\[.*\].*\[.*\/CRITICAL\].*$/) + {if(!defined($line2=)) + { print "- $line1\n"; + die;}} + elsif($line1 =~ /^.*\[.*\].*\[.*\/DEBUG\].*$/) + {if(!defined($line2=)) + { print "- $line1\n"; + die;}} + else{if(!defined($line2=)) + { print "- $line1\n"; + die;}} + + $line2 =~ s/\r//g; + chomp $line2; + + if($line2 eq $line1){} + else + { print "- $line1\n"; + print "+ $line2\n"; + die;}} +} +if($ok == 1){ + print "Test of \"$file\" OK\n"; + $ok = 0;} + +close(SH_LIGNE); +close(FILE_ERR); close(FILE); \ No newline at end of file