##// END OF EJS Templates
Remove scaledomain ect. warnings from pie. Not going to be implemented (for now at least).
Remove scaledomain ect. warnings from pie. Not going to be implemented (for now at least).

File last commit:

r1152:f8ae4740c650
r1191:6223c1214e9d
Show More
run_tests.pl
90 lines | 2.3 KiB | text/plain | PerlLexer
Jani Honkonen
Add a script for running tests
r1134 use Cwd;
use Cwd 'abs_path';
use File::Basename;
use File::Copy;
Jani Honkonen
run_tests.pl: adding linux specific stuff
r1151 use feature "switch";
Jani Honkonen
Add a script for running tests
r1134 use lib 'test/scripts';
use Jobs;
# read command line params
my $jobname = shift;
# read ini file
my $inifile = File::Basename::dirname($0) . "/jobs.ini";
my %job = Jobs::get($inifile, $jobname);
Jani Honkonen
run_tests.pl: return an error code if a test fails
r1136 # set/get paths
Jani Honkonen
run_tests.pl: try to fix auto test running in win7
r1135 my $root_path = abs_path();
Jani Honkonen
Remove extra "test" folder. Put all binaries in the bin.
r1137 my $bin_path = "$root_path/bin/";
Jani Honkonen
run_tests.pl: return an error code if a test fails
r1136 my $reports_path = "test-reports";
# create reports path
Jani Honkonen
Remove extra "test" folder. Put all binaries in the bin.
r1137 mkdir $reports_path;
Jani Honkonen
run_tests.pl: try to fix auto test running in win7
r1135
Jani Honkonen
run_tests.pl: adding linux specific stuff
r1151 # setup environment for running tests
given ($job{'Platform'}) {
when ("Win7") {
Jani Honkonen
run_tests.pl: adding more comments
r1152 # Add qtdir to path
$ENV{'PATH'} .= ";" . $job{'QtDir'} . "\\bin";
# replace / -> \
$ENV{'PATH'} =~ s/\//\\/g;
Jani Honkonen
run_tests.pl: adding linux specific stuff
r1151 }
Jani Honkonen
Add a script for running tests
r1134
Jani Honkonen
run_tests.pl: adding linux specific stuff
r1151 when ("Linux") {
Jani Honkonen
run_tests.pl: adding more comments
r1152 # Add qtdir to path
Jani Honkonen
run_tests.pl: adding linux specific stuff
r1151 $ENV{'PATH'} = $job{'QtDir'} . "/bin:" . $ENV{'PATH'};
Jani Honkonen
run_tests.pl: adding more comments
r1152
# If this is not set we get "cannot connect to X server" errors
Jani Honkonen
run_tests.pl: adding linux specific stuff
r1151 $ENV{'DISPLAY'} = ":0.0";
}
}
Jani Honkonen
run_tests.pl: return an error code if a test fails
r1136
Jani Honkonen
Add a script for running tests
r1134 # Go through all the files in the test folder
Jani Honkonen
run_tests.pl: return an error code if a test fails
r1136 # autotest is an executable beginning with "tst_"
Jani Honkonen
run_tests.pl: adding linux specific stuff
r1151 my $script_exit_status = 0;
Jani Honkonen
Remove extra "test" folder. Put all binaries in the bin.
r1137 opendir (TESTAPPDIR, "$bin_path") or die "Couldn't open test app dir";
Jani Honkonen
Add a script for running tests
r1134 @files = <TESTAPPDIR>;
while ($testapp = readdir TESTAPPDIR) {
if (index($testapp, "tst_") == 0) {
Jani Honkonen
Remove extra "test" folder. Put all binaries in the bin.
r1137 if (-x "$bin_path$testapp") {
Jani Honkonen
run_tests.pl: return an error code if a test fails
r1136 my $status = executeTestApp($testapp);
if ($status != 0) {
$script_exit_status = $status;
}
Jani Honkonen
Add a script for running tests
r1134 } else {
#print "file $testapp not executable\n";
}
}
}
closedir TESTAPPDIR;
Jani Honkonen
Remove extra "test" folder. Put all binaries in the bin.
r1137 print "\n*** script exit status : $script_exit_status ***\n\n";
Jani Honkonen
run_tests.pl: return an error code if a test fails
r1136 exit($script_exit_status);
Jani Honkonen
Add a script for running tests
r1134
Jani Honkonen
run_tests.pl: adding linux specific stuff
r1151
Jani Honkonen
run_tests.pl: return an error code if a test fails
r1136 sub executeTestApp($) {
my $testapp = $_[0];
# On OSX the actual test binary is in a sub folder
my $cmd_postfix = "";
if ($^O eq "darwin") {
$cmd_postfix = "/Contents/MacOS/$testapp";
$cmd_postfix = substr($cmd_postfix, 0, rindex($cmd_postfix, ".app"));
}
Jani Honkonen
Remove extra "test" folder. Put all binaries in the bin.
r1137 my $cmd = "$bin_path$testapp$cmd_postfix -xunitxml -o $reports_path/$testapp.xml";
Jani Honkonen
run_tests.pl: return an error code if a test fails
r1136 print "executing: $cmd\n";
Jani Honkonen
Remove extra "test" folder. Put all binaries in the bin.
r1137 system($cmd);
# From http://perldoc.perl.org/perlvar.html about $?:
# The upper eight bits reflect specific error conditions encountered by the
# program (the program's exit() value). The lower eight bits reflect
# mode of failure, like signal death and core dump information.
# See wait(2) for details.
Jani Honkonen
Add a script for running tests
r1134 my $exit_status = $? >> 8;
Jani Honkonen
Remove extra "test" folder. Put all binaries in the bin.
r1137 print "\texit status: $exit_status\n";
Jani Honkonen
run_tests.pl: return an error code if a test fails
r1136
return $exit_status;
Jani Honkonen
Add a script for running tests
r1134 }