summaryrefslogtreecommitdiff
path: root/tests/autotest-local.pl
diff options
context:
space:
mode:
Diffstat (limited to 'tests/autotest-local.pl')
-rw-r--r--tests/autotest-local.pl11
1 files changed, 6 insertions, 5 deletions
diff --git a/tests/autotest-local.pl b/tests/autotest-local.pl
index b0e9a6c..d2be69d 100644
--- a/tests/autotest-local.pl
+++ b/tests/autotest-local.pl
@@ -25,8 +25,12 @@ sub gcctoolset
return ($^O =~ /darwin/) ? ($gcc, "${gcc}_x64", "${gcc}_ppc") : (`uname -m` =~ /64/) ? ("${gcc}_x64") : ($gcc);
}
-$fast = (shift eq 'fast');
-@toolsets = ($^O =~ /MSWin/) ? (bcc, cw, dmc, ic8, ic9, ic9_x64, ic10, ic10_x64, ic11, ic11_x64, mingw34, mingw44, mingw45, mingw45_0x, mingw46_x64, msvc6, msvc7, msvc71, msvc8, msvc8_x64, msvc9, msvc9_x64, msvc10, msvc10_x64, xbox360, ps3_gcc, ps3_snc) : ($^O =~ /solaris/) ? (suncc, suncc_x64) : &gcctoolset();
+@alltoolsets = ($^O =~ /MSWin/) ? (bcc, cw, dmc, ic8, ic9, ic9_x64, ic10, ic10_x64, ic11, ic11_x64, mingw34, mingw44, mingw45, mingw45_0x, mingw46_x64, msvc6, msvc7, msvc71, msvc8, msvc8_x64, msvc9, msvc9_x64, msvc10, msvc10_x64, xbox360, ps3_gcc, ps3_snc) : ($^O =~ /solaris/) ? (suncc, suncc_x64) : &gcctoolset();
+
+$fast = scalar grep(/^fast$/, @ARGV);
+@toolsets = map { /^fast$/ ? () : ($_) } @ARGV;
+@toolsets = @toolsets ? @toolsets : @alltoolsets;
+
@configurations = (debug, release);
@defines = (PUGIXML_NO_XPATH, PUGIXML_NO_EXCEPTIONS, PUGIXML_NO_STL, PUGIXML_WCHAR_MODE);
$stddefine = 'PUGIXML_STANDARD';
@@ -65,9 +69,6 @@ foreach $toolset (@toolsets)
foreach $defineset (@definesets)
{
- if ($defineset !~ /NO_XPATH/ && $defineset =~ /NO_EXCEPTIONS/) { next; }
- if ($defineset !~ /NO_XPATH/ && $defineset =~ /NO_STL/) { next; }
-
$cmdline .= ":$defineset" if ($defineset ne '');
# any configuration with prepare but without result is treated as failed