mirror of
https://github.com/fancycode/MemoryModule
synced 2026-06-06 15:44:28 +00:00
Also build and run testsuite on cmake CI tests.
This commit is contained in:
+3
-1
@@ -30,7 +30,7 @@ addons:
|
|||||||
- wine
|
- wine
|
||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
- if [ ! -z "$CMAKE" ]; then cmake -DPLATFORM=$PLATFORM -D UNICODE=$UNICODE -H. -B.; fi
|
- if [ ! -z "$CMAKE" ]; then cmake -DPLATFORM=$PLATFORM -DUNICODE=$UNICODE -DTESTSUITE=ON -H. -B.; fi
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- if [ -z "$CMAKE" ]; then make PLATFORM=$PLATFORM UNICODE=$UNICODE; fi
|
- if [ -z "$CMAKE" ]; then make PLATFORM=$PLATFORM UNICODE=$UNICODE; fi
|
||||||
@@ -39,3 +39,5 @@ script:
|
|||||||
- cd example/DllLoader
|
- cd example/DllLoader
|
||||||
- ../../tests/runwine.sh $PLATFORM ./DllLoader.exe
|
- ../../tests/runwine.sh $PLATFORM ./DllLoader.exe
|
||||||
- ../../tests/runwine.sh $PLATFORM ./DllLoaderLoader.exe
|
- ../../tests/runwine.sh $PLATFORM ./DllLoaderLoader.exe
|
||||||
|
- cd ../../tests
|
||||||
|
- ./runwine.sh $PLATFORM ./TestSuite.exe
|
||||||
|
|||||||
@@ -40,11 +40,20 @@ else ()
|
|||||||
message (STATUS "Compile without UNICODE support")
|
message (STATUS "Compile without UNICODE support")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
option(TESTSUITE "Compile with TESTSUITE support" OFF)
|
||||||
|
if (TESTSUITE)
|
||||||
|
message (STATUS "Compile with TESTSUITE support")
|
||||||
|
add_definitions ("-DTESTSUITE")
|
||||||
|
else ()
|
||||||
|
message (STATUS "Compile without TESTSUITE support")
|
||||||
|
endif ()
|
||||||
|
|
||||||
add_library (MemoryModule STATIC MemoryModule.c MemoryModule.h)
|
add_library (MemoryModule STATIC MemoryModule.c MemoryModule.h)
|
||||||
if (NOT MSVC)
|
if (NOT MSVC)
|
||||||
set_target_properties ("MemoryModule" PROPERTIES PREFIX "")
|
set_target_properties ("MemoryModule" PROPERTIES PREFIX "")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
add_subdirectory (example)
|
add_subdirectory (example)
|
||||||
|
add_subdirectory (tests)
|
||||||
|
|
||||||
enable_language (RC)
|
enable_language (RC)
|
||||||
|
|||||||
+3
-3
@@ -1028,7 +1028,6 @@ MemoryLoadStringEx(HMEMORYMODULE module, UINT id, LPTSTR buffer, int maxsize, WO
|
|||||||
|
|
||||||
#ifdef TESTSUITE
|
#ifdef TESTSUITE
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <inttypes.h>
|
|
||||||
|
|
||||||
#ifndef PRIxPTR
|
#ifndef PRIxPTR
|
||||||
#ifdef _WIN64
|
#ifdef _WIN64
|
||||||
@@ -1064,7 +1063,8 @@ static const uintptr_t AlignValueUpTests[][3] = {
|
|||||||
|
|
||||||
BOOL MemoryModuleTestsuite() {
|
BOOL MemoryModuleTestsuite() {
|
||||||
BOOL success = TRUE;
|
BOOL success = TRUE;
|
||||||
for (size_t idx = 0; AlignValueDownTests[idx][0]; ++idx) {
|
size_t idx;
|
||||||
|
for (idx = 0; AlignValueDownTests[idx][0]; ++idx) {
|
||||||
const uintptr_t* tests = AlignValueDownTests[idx];
|
const uintptr_t* tests = AlignValueDownTests[idx];
|
||||||
uintptr_t value = AlignValueDown(tests[0], tests[1]);
|
uintptr_t value = AlignValueDown(tests[0], tests[1]);
|
||||||
if (value != tests[2]) {
|
if (value != tests[2]) {
|
||||||
@@ -1073,7 +1073,7 @@ BOOL MemoryModuleTestsuite() {
|
|||||||
success = FALSE;
|
success = FALSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (size_t idx = 0; AlignValueDownTests[idx][0]; ++idx) {
|
for (idx = 0; AlignValueDownTests[idx][0]; ++idx) {
|
||||||
const uintptr_t* tests = AlignValueUpTests[idx];
|
const uintptr_t* tests = AlignValueUpTests[idx];
|
||||||
uintptr_t value = AlignValueUp(tests[0], tests[1]);
|
uintptr_t value = AlignValueUp(tests[0], tests[1]);
|
||||||
if (value != tests[2]) {
|
if (value != tests[2]) {
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ if /I "%PLATFORM%" == "x64" (
|
|||||||
|
|
||||||
echo.
|
echo.
|
||||||
echo Preparing %CONFIGURATION% build environment for %GENERATOR%%CMAKE_GEN_SUFFIX% ...
|
echo Preparing %CONFIGURATION% build environment for %GENERATOR%%CMAKE_GEN_SUFFIX% ...
|
||||||
cmake "-G%GENERATOR%%CMAKE_GEN_SUFFIX%" -DPLATFORM=%PLATFORM% -DUNICODE=%UNICODE% -H. -Bbuild
|
cmake "-G%GENERATOR%%CMAKE_GEN_SUFFIX%" -DPLATFORM=%PLATFORM% -DUNICODE=%UNICODE% -DTESTSUITE=ON -H. -Bbuild
|
||||||
if %errorlevel% neq 0 exit /b %errorlevel%
|
if %errorlevel% neq 0 exit /b %errorlevel%
|
||||||
|
|
||||||
echo.
|
echo.
|
||||||
@@ -26,6 +26,7 @@ echo Copying generated files ...
|
|||||||
copy /y build\example\DllLoader\%CONFIGURATION%\DllLoader.exe build\example\DllLoader\ > NUL
|
copy /y build\example\DllLoader\%CONFIGURATION%\DllLoader.exe build\example\DllLoader\ > NUL
|
||||||
copy /y build\example\DllLoader\%CONFIGURATION%\DllLoaderLoader.exe build\example\DllLoader\ > NUL
|
copy /y build\example\DllLoader\%CONFIGURATION%\DllLoaderLoader.exe build\example\DllLoader\ > NUL
|
||||||
copy /y build\example\SampleDLL\%CONFIGURATION%\SampleDLL.dll build\example\SampleDLL\ > NUL
|
copy /y build\example\SampleDLL\%CONFIGURATION%\SampleDLL.dll build\example\SampleDLL\ > NUL
|
||||||
|
copy /y build\tests\%CONFIGURATION%\TestSuite.exe build\tests\ > NUL
|
||||||
|
|
||||||
cd build\example\DllLoader
|
cd build\example\DllLoader
|
||||||
|
|
||||||
@@ -38,3 +39,10 @@ echo.
|
|||||||
echo Running DllLoaderLoader.exe ...
|
echo Running DllLoaderLoader.exe ...
|
||||||
DllLoaderLoader.exe
|
DllLoaderLoader.exe
|
||||||
if %errorlevel% neq 0 exit /b %errorlevel%
|
if %errorlevel% neq 0 exit /b %errorlevel%
|
||||||
|
|
||||||
|
cd ..\..\tests
|
||||||
|
|
||||||
|
echo.
|
||||||
|
echo Running TestSuite.exe ...
|
||||||
|
TestSuite.exe
|
||||||
|
if %errorlevel% neq 0 exit /b %errorlevel%
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
set (sources_testsuite
|
||||||
|
TestSuite.c
|
||||||
|
)
|
||||||
|
|
||||||
|
if (NOT MSVC)
|
||||||
|
set (CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "-static")
|
||||||
|
set (CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "-static")
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
add_executable (TestSuite ${sources_testsuite})
|
||||||
|
target_link_libraries ("TestSuite" "MemoryModule")
|
||||||
|
if (NOT MSVC)
|
||||||
|
set_target_properties ("TestSuite" PROPERTIES SUFFIX ".exe")
|
||||||
|
endif ()
|
||||||
@@ -9,6 +9,8 @@ extern BOOL MemoryModuleTestsuite();
|
|||||||
|
|
||||||
int main(int argc, char* argv[])
|
int main(int argc, char* argv[])
|
||||||
{
|
{
|
||||||
|
UNREFERENCED_PARAMETER(argc);
|
||||||
|
UNREFERENCED_PARAMETER(argv);
|
||||||
if (!MemoryModuleTestsuite()) {
|
if (!MemoryModuleTestsuite()) {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user