blob: dc3666680f7eeed1af4be51642baf7f4b991286f (
plain)
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
|
@echo off
REM Usage: runtest cl|gcc testname prerequisit testarg ...
if %3==_ goto noprereq
if NOT EXIST %3.pass goto needprereq
:noprereq
if EXIST %2.fail goto forcetest
if EXIST %2.pass goto bypass
:forcetest
if EXIST %2.fail erase %2.fail
REM Make sure we start with only those files we expect to need
if exist tmp\*.* echo y | erase tmp\*.* > nul:
rmdir tmp
mkdir tmp
copy ..\pthread.dll tmp > nul:
copy ..\pthread.h tmp > nul:
copy ..\semaphore.h tmp > nul:
copy ..\sched.h tmp > nul:
copy test.h tmp > nul:
copy ..\pthread.lib tmp > nul:
copy ..\libpthread32.a tmp > nul:
cd tmp
REM Compile the test case
REM produces aout.exe using the compiler given as %1
call ..\c%1.bat %2 > ..\%2.%1log
if ERRORLEVEL 1 goto cleanup
REM erase ..\%2.%1log
echo TEST: %2 [%1]
REM Run the test case
if EXIST %2.pass erase %2.pass
if EXIST %2.fail erase %2.fail
if EXIST %2.notrun erase %2.notrun
aout.exe %4 %5 %6 %7 %8 %9
set RESULT=%ERRORLEVEL%
if %RESULT% NEQ 0 echo Failed [%RESULT%] > ..\%2.fail
if %RESULT% EQU 0 echo Passed > ..\%2.pass
:cleanup
cd ..
REM Clean up
if exist tmp\*.* echo y | erase tmp\*.* > nul:
if EXIST %2.fail echo Failed [%RESULT%]
if EXIST %2.pass echo Passed [%RESULT%]
:bypass
goto end
:needprereq
echo Test %2 requires %3 to pass before it can run.
echo No Prereq > ..\%2.notrun
goto end
:end
|