4 if($#ARGV!=1){die "Usage: perl tesh.pl <directory> <teshfile.tesh>\n";}
\r
5 my($directory)=$ARGV[0];
\r
11 chdir("$directory");
\r
12 print "Change directory to \"$directory\"\n";
\r
14 open SH_LIGNE, $file or die "Unable to open $file. $!\n";
\r
16 while(defined($line1=<SH_LIGNE>))
\r
18 if($line1 =~ /^\$/){ #command line
\r
20 $line1 =~ s/\$\{srcdir\:\=\.\}/./g;
\r
21 $line1 =~ s/\$SG_TEST_EXENV//g;
\r
22 $line1 =~ s/\$SG_EXENV_TEST//g;
\r
23 $line1 =~ s/\$EXEEXT//g;
\r
24 $line1 =~ s/\${EXEEXT:=}//g;
\r
25 $line1 =~ s/^\$\ *//g;
\r
26 $line1 =~ s/^.\/lua/lua/g;
\r
27 $line1 =~ s/^.\/ruby/ruby/g;
\r
30 print "$execline\n";
\r
31 system "$execline 1>output_tesh.txt 2>output_tesh_err.txt";
\r
34 open (FILE, "output_tesh.txt");
\r
35 open (FILE_ERR, "output_tesh_err.txt");}
\r
37 if($line1 =~ /^\>/){ #expected result line
\r
38 if($ok == 0){die "No command line$!";}
\r
39 $line1 =~ s/^\> //g;
\r
43 if($line1 =~ /^.*\[.*\].*\[.*\/INFO\].*$/)
\r
44 {if(!defined($line2=<FILE_ERR>))
\r
45 { print "- $line1\n";
\r
47 elsif($line1 =~ /^.*\[.*\].*\[.*\/WARNING\].*$/)
\r
48 {if(!defined($line2=<FILE_ERR>))
\r
49 { print "- $line1\n";
\r
51 elsif($line1 =~ /^.*\[.*\].*\[.*\/CRITICAL\].*$/)
\r
52 {if(!defined($line2=<FILE_ERR>))
\r
53 { print "- $line1\n";
\r
55 elsif($line1 =~ /^.*\[.*\].*\[.*\/DEBUG\].*$/)
\r
56 {if(!defined($line2=<FILE_ERR>))
\r
57 { print "- $line1\n";
\r
59 else{if(!defined($line2=<FILE>))
\r
60 { print "- $line1\n";
\r
66 if($line2 eq $line1){}
\r
68 { print "- $line1\n";
\r
73 print "Test of \"$file\" OK\n";
\r