5 if($#ARGV<0){die "Usage: tesh.pl <options> <teshfile.tesh>\n";}
18 if($ARGV[$nb_arg] =~ /^--cd$/)
21 if(!$ARGV[$nb_arg] or $ARGV[$nb_arg] =~ /^--/){die "Usage: tesh.pl --cd <directory>\n";}
22 my($directory)=$ARGV[$nb_arg];
26 print "-- Tesh options : Change directory to \"$directory\"\n";
30 die "Directory not found : \"$directory\"\n";
34 elsif($ARGV[$nb_arg] =~ /^--setenv$/)
37 if(!$ARGV[$nb_arg] or $ARGV[$nb_arg] =~ /^--/){die "Usage: tesh.pl --setenv environment_variable\n";}
38 if(!$ARGV[$nb_arg+1] or $ARGV[$nb_arg+1] =~ /^--/){die "Usage: tesh.pl --setenv environment_variable\n";}
39 $ENV{$ARGV[$nb_arg]} = "$ENV{$ARGV[$nb_arg]}:$ARGV[$nb_arg+1]";
40 print "-- Tesh options : export $ARGV[$nb_arg]=\"$ENV{$ARGV[$nb_arg]}\"\n";
46 print "-- Tesh options : Unrecognized option : $ARGV[$nb_arg]\n";
49 }while(($nb_arg) < $#ARGV);
51 #Add current directory to path
52 $ENV{PATH} = "$ENV{PATH}:.";
55 if(!$ARGV[$nb_arg]){die "tesh.pl <options> <teshfile.tesh>\n";}
56 print "-- Tesh load file : $ARGV[$nb_arg]\n";
57 my($file)=$ARGV[$nb_arg];
58 open SH_LIGNE, $file or die "Unable to open $file. $!\n";
60 while(defined($line1=<SH_LIGNE>))
62 if($line1 =~ /^\$/){ #command line
64 $line1 =~ s/\$\{srcdir\:\=\.\}/./g;
65 $line1 =~ s/\$SG_TEST_EXENV//g;
66 $line1 =~ s/\$SG_EXENV_TEST//g;
67 $line1 =~ s/\$EXEEXT//g;
68 $line1 =~ s/\${EXEEXT:=}//g;
69 $line1 =~ s/^\$\ *//g;
70 $line1 =~ s/^.\/lua/lua/g;
71 $line1 =~ s/^.\/ruby/ruby/g;
73 $line1 =~ s/\(%i:%P@%h\)/\\\(%i:%P@%h\\\)/g;
76 print "-- Tesh exec_line : $execline\n";
77 $result=`$execline 2>&1`;
78 @list1 = split(/\n/,$result);
81 elsif($line1 =~ /^\>/){ #expected result line
82 if($ok == 0){die "No command line$!";}
89 elsif($ok == 1 and $ok1 == 1)
91 while(@list1 or @list2)
93 $line1 = shift (@list1);
94 $line2 = shift (@list2);
95 if($line1 eq $line2){}
108 if($ok == 1 and $ok1 == 1)
110 while(@list1 or @list2)
112 $line1 = shift (@list1);
113 $line2 = shift (@list2);
114 if($line1 eq $line2){}
116 { print "- $line1\n";