summaryrefslogtreecommitdiff
path: root/builds/msvc/vs2010/test/test.runner.bat
diff options
context:
space:
mode:
Diffstat (limited to 'builds/msvc/vs2010/test/test.runner.bat')
-rw-r--r--builds/msvc/vs2010/test/test.runner.bat78
1 files changed, 78 insertions, 0 deletions
diff --git a/builds/msvc/vs2010/test/test.runner.bat b/builds/msvc/vs2010/test/test.runner.bat
new file mode 100644
index 0000000..cd7e791
--- /dev/null
+++ b/builds/msvc/vs2010/test/test.runner.bat
@@ -0,0 +1,78 @@
+REM WORK IN PROGRESS
+
+@ECHO OFF
+
+if "%1" == "" (
+ echo "Usage: wintest.bat <DebugDLL | ReleaseDLL | DebugLIB | ReleaseLIB | DebugLTCG | DebugLTCG"
+ goto :END
+)
+
+if "%2" == "x64" (SET ARCH=x64) else (SET ARCH=Win32)
+SET CFLAGS=/nologo /DTEST_SRCDIR=\".\" /I..\..\src\libsodium\include\sodium /I..\..\src\libsodium\include /I..\quirks
+SET LDFLAGS=/link /LTCG advapi32.lib ..\..\Build\%1\%ARCH%\libsodium.lib
+
+if not "%3" == "" (
+ CD %3
+)
+
+if not exist sodium_version.c (
+ if not exist sodium_version.c (
+ echo "Are you on the right path?" %CD%
+ goto :END
+ )
+)
+
+if "%1" == "DebugDLL" ( goto :DebugDLL )
+if "%1" == "ReleaseDLL" ( goto :ReleaseDLL )
+
+if "%1" == "DebugLIB" ( goto :DebugLIB )
+if "%1" == "ReleaseLIB" ( goto :ReleaseLIB )
+
+if "%1" == "DebugLTCG" ( goto :DebugLTCG )
+if "%1" == "ReleaseLTCG" ( goto :ReleaseLTCG )
+
+echo "Invalid build type"
+goto :END
+
+:DebugDLL
+ SET CFLAGS=%CFLAGS% /GS /MDd /Od
+ SET PATH=..\..\Build\%1\%ARCH%;%PATH%
+ goto :COMPILE
+:ReleaseDLL
+ SET CFLAGS=%CFLAGS% /MD /Ox
+ SET PATH=..\..\Build\%1\%ARCH%;%PATH%
+ goto :COMPILE
+
+:DebugLIB
+ SET CFLAGS=%CFLAGS% /GS /MTd /Od /DSODIUM_STATIC
+ goto :COMPILE
+:ReleaseLIB
+ SET CFLAGS=%CFLAGS% /MT /Ox /DSODIUM_STATIC
+ goto :COMPILE
+
+:DebugLTCG
+ SET CFLAGS=%CFLAGS% /LTCG /GS /MTd /Od /DSODIUM_STATIC
+ goto :COMPILE
+:ReleaseLTCG
+ SET CFLAGS=%CFLAGS% /LTCG /MT /Ox /DSODIUM_STATIC
+ goto :COMPILE
+
+:COMPILE
+echo Running the test suite:
+FOR %%f in (*.c) DO (
+ cl %CFLAGS% %%f %LDFLAGS% /errorReport:prompt /OUT:%%f.exe > NUL 2>&1
+ if not exist %%f.exe (
+ echo %%f compile failed
+ goto :END
+ )
+ %%f.exe
+ if errorlevel 1 (
+ echo %%f failed
+ ) else (
+ echo %%f ok
+ )
+)
+REM Remove temporary files
+del *.exe *.obj *.res *.exp *.pdb
+
+:END