aboutsummaryrefslogtreecommitdiff
path: root/dist
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2014-05-26 17:04:05 -0700
committerBoris Kolpackov <boris@codesynthesis.com>2014-05-26 17:04:05 -0700
commit06258b8eae3d5af9a1af0206bb5a8e5c80dde455 (patch)
tree93aacbf637fa83cd0e33c3a2a532f4982f3e40a0 /dist
parent04f3476550a2d6c7aacb11e742b5430187d005a2 (diff)
Generate test.bat for examples
Diffstat (limited to 'dist')
-rw-r--r--dist/examples/test.bat74
-rw-r--r--dist/examples/tester.bat45
2 files changed, 119 insertions, 0 deletions
diff --git a/dist/examples/test.bat b/dist/examples/test.bat
new file mode 100644
index 0000000..97b0b88
--- /dev/null
+++ b/dist/examples/test.bat
@@ -0,0 +1,74 @@
+@echo off
+rem file : examples/test.bat
+rem copyright : Copyright (c) 2013-2014 Code Synthesis Tools CC
+rem license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+setlocal
+
+set "tests=__path__(dirs)"
+set "confs=__path__(configurations)"
+set "plats=__path__(platforms)"
+set "curdir=%CD%"
+set "topdir=%curdir%\..\.."
+set "failed="
+
+goto start
+
+rem
+rem %1 - test directory
+rem %2 - configuration
+rem %3 - platform
+rem
+:run_test
+ cd %1
+
+ if "_%3_" == "_Win32_" (
+ set "dir=%2"
+ ) else (
+ set "dir=%3\%2"
+ )
+
+ if exist %dir%\driver.exe (
+ echo %1\%3\%2
+ call %topdir%\tester.bat %2 %3
+ if errorlevel 1 (
+ set "failed=%failed% %1\%3\%2"
+ )
+ )
+
+ cd %curdir%
+goto :eof
+
+:start
+
+for %%t in (%tests%) do (
+ for %%c in (%confs%) do (
+ for %%p in (%plats%) do (
+ call :run_test %%t %%c %%p
+ )
+ )
+)
+
+if not "_%failed%_" == "__" goto error
+
+echo.
+echo ALL EXAMPLES PASSED
+echo.
+goto end
+
+:usage
+echo.
+echo usage: test.bat
+echo.
+
+:error
+if not "_%failed%_" == "__" (
+ echo.
+ for %%t in (%failed%) do echo FAILED: %%t
+ echo.
+)
+endlocal
+exit /b 1
+
+:end
+endlocal
diff --git a/dist/examples/tester.bat b/dist/examples/tester.bat
new file mode 100644
index 0000000..b7aa478
--- /dev/null
+++ b/dist/examples/tester.bat
@@ -0,0 +1,45 @@
+@echo off
+rem file : examples/tester.bat
+rem copyright : Copyright (c) 2013-2014 Code Synthesis Tools CC
+rem license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+rem
+rem Run example. The example directory is the current directory.
+rem
+rem %1 configuration, for example, Debug or Release
+rem %2 platform, for example Win32 or x64
+rem
+
+setlocal
+
+if "_%DIFF%_" == "__" set DIFF=fc
+
+if "_%2_" == "_Win32_" (
+ set "dir=%1"
+) else (
+ set "dir=%2\%1"
+)
+
+rem Globbing returns files in alphabetic order. We also need to cover
+rem compressed XML files (.xml.gz).
+rem
+if exist *.xml* (
+ for %%f in (*.xml*) do (
+
+ %dir%\driver.exe %%f
+ if errorlevel 1 goto error
+ )
+) else (
+
+ %dir%\driver.exe
+ if errorlevel 1 goto error
+)
+
+goto end
+
+:error
+endlocal
+exit /b 1
+
+:end
+endlocal