-#!perl -w
-use strict;
-
-if($#ARGV!=1) {
- die "Usage: perl tesh.pl <directory> <teshfile.tesh>\n";
-}
-
-my($directory)=$ARGV[0];
-my($file)=$ARGV[1];
-
-chdir("$directory");
-
-open SH_LIGNE, $file or die "Unable to open $file. $!\n";
-
-my($line);
-my($line_exec);
-my($l);
-my($tmp);
-
-while(defined($line=<SH_LIGNE>))
-{
-
- if($line =~ /^\$(.*)$/)
- {
- $line_exec = $line;
- $line =~ s/\$\{srcdir\:\=\.\}/./g;
- $line =~ s/\$SG_TEST_EXENV//g;
- $line =~ s/\$EXEEXT//g;
- $line =~ s/^\$\ */.\//g;
- $line =~ s/^.\/lua/lua/g;
- $line =~ s/^.\/ruby/ruby/g;
- print "$line_exec\n";
- chomp $line;
- system "$line";
- }
-}
-
-close(SH_LIGNE);
+#!perl -w\r
+use strict;\r
+\r
+if($#ARGV!=1){die "Usage: perl tesh.pl <directory> <teshfile.tesh>\n";}\r
+my($directory)=$ARGV[0];\r
+my($file)=$ARGV[1];\r
+my($line1);\r
+my($line2);\r
+my($execline);\r
+my($ok)=0;\r
+chdir("$directory");\r
+print "Change directory to \"$directory\"\n";\r
+\r
+open SH_LIGNE, $file or die "Unable to open $file. $!\n";\r
+\r
+while(defined($line1=<SH_LIGNE>))\r
+{\r
+ if($line1 =~ /^\$/){ #command line\r
+ $ok = 1;\r
+ $line1 =~ s/\$\{srcdir\:\=\.\}/./g;\r
+ $line1 =~ s/\$SG_TEST_EXENV//g;\r
+ $line1 =~ s/\$SG_EXENV_TEST//g;\r
+ $line1 =~ s/\$EXEEXT//g;\r
+ $line1 =~ s/\${EXEEXT:=}//g;\r
+ $line1 =~ s/^\$\ *//g;\r
+ $line1 =~ s/^.\/lua/lua/g;\r
+ $line1 =~ s/^.\/ruby/ruby/g;\r
+ chomp $line1;\r
+ $execline = $line1;\r
+ print "$execline\n";\r
+ system "$execline 1>output_tesh.txt 2>output_tesh_err.txt";\r
+ close(FILE_ERR);\r
+ close(FILE);\r
+ open (FILE, "output_tesh.txt");\r
+ open (FILE_ERR, "output_tesh_err.txt");}\r
+ \r
+ if($line1 =~ /^\>/){ #expected result line\r
+ if($ok == 0){die "No command line$!";}\r
+ $line1 =~ s/^\> //g;\r
+ $line1 =~ s/\r//g;\r
+ chomp $line1;\r
+ \r
+ if($line1 =~ /^.*\[.*\].*\[.*\/INFO\].*$/)\r
+ {if(!defined($line2=<FILE_ERR>))\r
+ { print "- $line1\n";\r
+ die;}}\r
+ elsif($line1 =~ /^.*\[.*\].*\[.*\/WARNING\].*$/)\r
+ {if(!defined($line2=<FILE_ERR>))\r
+ { print "- $line1\n";\r
+ die;}}\r
+ elsif($line1 =~ /^.*\[.*\].*\[.*\/CRITICAL\].*$/)\r
+ {if(!defined($line2=<FILE_ERR>))\r
+ { print "- $line1\n";\r
+ die;}}\r
+ elsif($line1 =~ /^.*\[.*\].*\[.*\/DEBUG\].*$/)\r
+ {if(!defined($line2=<FILE_ERR>))\r
+ { print "- $line1\n";\r
+ die;}}\r
+ else{if(!defined($line2=<FILE>))\r
+ { print "- $line1\n";\r
+ die;}}\r
+ \r
+ $line2 =~ s/\r//g; \r
+ chomp $line2;\r
+ \r
+ if($line2 eq $line1){}\r
+ else\r
+ { print "- $line1\n";\r
+ print "+ $line2\n";\r
+ die;}} \r
+}\r
+if($ok == 1){\r
+ print "Test of \"$file\" OK\n";\r
+ $ok = 0;}\r
+ \r
+close(SH_LIGNE);\r
+close(FILE_ERR);\r
+close(FILE);
\ No newline at end of file