Repository navigation
Expand file tree
/
Copy pathrun_all_unit_tests.cmd
More file actions
94 lines (55 loc) · 1.5 KB
/
Copy pathrun_all_unit_tests.cmd
File metadata and controls
94 lines (55 loc) · 1.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
@echo off
SETLOCAL
SET SCRIPT_DIRECTORY=%~dp0
SET SCRIPT_PATH_DOC=%~n0[%~x0]
IF DEFINED SIS_CMAKE_BUILD_DIR (
SET CMAKE_DIR=%SIS_CMAKE_BUILD_DIR%
) ELSE (
SET CMAKE_DIR=%SCRIPT_DIRECTORY%_build
)
FOR %%a IN (%*) DO (
IF /I {--help}=={%%a} (
IF EXIST "%SCRIPT_DIRECTORY%.sis\script_info_lines.txt" (
type "%SCRIPT_DIRECTORY%.sis\script_info_lines.txt"
)
ECHO ^
Runs all ^(matching^) unit-test programs ^
^
%SCRIPT_PATH_DOC% [ ... flags/options ... ] ^
^
Flags/options: ^
behaviour: ^
^
--unit-only ^
accepted for compatibility; this script always runs unit tests only ^
^
standard flags: ^
^
--help ^
displays this help and terminates ^
EXIT /B 0
) ELSE IF /I {--unit-only}=={%%a} (
REM Benign: this script is already unit-only
) ELSE (
ECHO "%SCRIPT_DIRECTORY%: unrecognised argument '%%a'; use --help for usage" 1>&2
EXIT /B 1
)
)
if NOT EXIST "%CMAKE_DIR%" (
ECHO "CMake build directory '%CMAKE_DIR%' does not exist"
EXIT /B 1
)
SET "ProjectName="
FOR /F "usebackq delims=" %%p IN ("%SCRIPT_DIRECTORY%.sis\project_name.txt") DO SET "ProjectName=%%p"
IF NOT DEFINED ProjectName (
ECHO %SCRIPT_PATH_DOC%: could not read project name from .sis\project_name.txt 1>&2
EXIT /B 1
)
ECHO Running all %ProjectName% unit-test programs
FOR /F "usebackq" %%f IN (`DIR /A:-D /B /S "%CMAKE_DIR%" ^| FINDSTR /I test.*unit.*\.exe$`) DO (
ECHO .
ECHO executing %%f
%%f
IF ERRORLEVEL 1 EXIT /B %ERRORLEVEL%
)
ENDLOCAL