aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xcmake/basictest11
-rw-r--r--test/CMakeLists.txt6
2 files changed, 15 insertions, 2 deletions
diff --git a/cmake/basictest b/cmake/basictest
index 42cb2864..95b98a12 100755
--- a/cmake/basictest
+++ b/cmake/basictest
@@ -1,5 +1,6 @@
#!/bin/sh
+export PATH=$PATH:/c/MinGW/msys/1.0/bin
TESTHOME=$(dirname ${0})/../test
export AWKPATH=${TESTHOME}
export AWKLIBPATH=${TESTHOME}/../build/extension/
@@ -10,5 +11,13 @@ then
else
$1 $3 -f ${2}.awk > ${TESTHOME}/_${2} 2>&1 || echo EXIT CODE: $? >> ${TESTHOME}/_${2}
fi
-cmp ${TESTHOME}/${2}.ok ${TESTHOME}/_${2} && rm -f ${TESTHOME}/_${2}
+# Is this shell running in a native MinGW shell (MSYS) ?
+if test -n "$COMSPEC"; then
+ # Ignore all differences in white space.
+ COMPARE="diff -w"
+else
+ # This is a shell running in Unix environment.
+ COMPARE="cmp"
+fi
+${COMPARE} ${TESTHOME}/${2}.ok ${TESTHOME}/_${2} && rm -f ${TESTHOME}/_${2}
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 96008d55..14d75f65 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -24,6 +24,10 @@
## process this file with CMake to produce Makefile
+if(WIN32)
+ set(SHELL_PREFIX "C:\\MinGW\\msys\\1.0\\bin\\sh")
+endif()
+
file(READ ${CMAKE_CURRENT_SOURCE_DIR}/Maketests BASIC_TESTS)
string(REGEX REPLACE "^Gt-dummy:\n" "" BASIC_TESTS "${BASIC_TESTS}")
string(REGEX MATCHALL "[a-zA-Z0-9_]+:\n" BASIC_TESTS "${BASIC_TESTS}")
@@ -42,6 +46,6 @@ foreach(testcase ${BASIC_TESTS} )
set(options "--lint")
endif()
- add_test(${testcase} ${CMAKE_SOURCE_DIR}/cmake/basictest ${CMAKE_BINARY_DIR}/gawk ${testcase} ${options} )
+ add_test(${testcase} ${SHELL_PREFIX} ${CMAKE_SOURCE_DIR}/cmake/basictest ${CMAKE_BINARY_DIR}/gawk ${testcase} ${options} )
endforeach(testcase)