commit 47edf655b33fa3a07f9e91d1d1823e8e4a8de992
parent 20672dba69bf463be22f6c9c216d858c9d116bb6
Author: Andreas-Schniertshauer <59561559+Andreas-Schniertshauer@users.noreply.github.com>
Date: Wed, 19 Feb 2020 20:25:19 +0100
Add: tests to CMakeLists.txt (#173)
* Add: tests to CMakeLists.txt
* Disable compilation of charwidth, graphemetest and normtest because of missing getline
* Refactoring: UTF8PROC_ENABLE_TESTING default Off, move tests that don't compile on windows to NOT MSVC section, add testing to appveyor.yml
* Add: testing to travis
* Changed: flag to WIN32 because MinGW has the same problem as MSVC
* Commented out graphemetest and normtest because they fail.
* Re-added: graphemetest and normtest added missing data to the path of the text files.
* Fix: last commit was party wrong normtest failed.
* * Commented out graphemetest and normtest because they fail, because in CMakeLists is missing building of data.
Diffstat:
3 files changed, 46 insertions(+), 7 deletions(-)
diff --git a/.travis.yml b/.travis.yml
@@ -11,5 +11,5 @@ script:
- make check
- make data && diff data/utf8proc_data.c.new utf8proc_data.c
- make clean && git status --ignored --porcelain && test -z "$(git status --ignored --porcelain)"
- - (mkdir build_static && cd build_static && cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON && make)
- - (mkdir build_shared && cd build_shared && cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_SHARED_LIBS=ON && make)
+ - (mkdir build_static && cd build_static && cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON -DUTF8PROC_ENABLE_TESTING=On && make && ctest)
+ - (mkdir build_shared && cd build_shared && cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_SHARED_LIBS=ON -DUTF8PROC_ENABLE_TESTING=On && make && ctest)
diff --git a/CMakeLists.txt b/CMakeLists.txt
@@ -14,6 +14,7 @@ set(SO_MINOR 3)
set(SO_PATCH 1)
option(UTF8PROC_INSTALL "Enable installation of utf8proc" On)
+option(UTF8PROC_ENABLE_TESTING "Enable testing of utf8proc" Off)
add_library (utf8proc
utf8proc.c
@@ -59,3 +60,37 @@ if (UTF8PROC_INSTALL)
"${PROJECT_SOURCE_DIR}/utf8proc.h"
DESTINATION include)
endif()
+
+if(UTF8PROC_ENABLE_TESTING)
+ enable_testing()
+ add_executable(case test/tests.h test/tests.c utf8proc.h test/case.c)
+ target_link_libraries(case utf8proc)
+ add_executable(custom test/tests.h test/tests.c utf8proc.h test/custom.c)
+ target_link_libraries(custom utf8proc)
+ add_executable(iterate test/tests.h test/tests.c utf8proc.h test/iterate.c)
+ target_link_libraries(iterate utf8proc)
+ add_executable(misc test/tests.h test/tests.c utf8proc.h test/misc.c)
+ target_link_libraries(misc utf8proc)
+ add_executable(printproperty test/tests.h test/tests.c utf8proc.h test/printproperty.c)
+ target_link_libraries(printproperty utf8proc)
+ add_executable(valid test/tests.h test/tests.c utf8proc.h test/valid.c)
+ target_link_libraries(valid utf8proc)
+ add_test(testcase case)
+ add_test(testcustom custom)
+ add_test(testiterate iterate)
+ add_test(testmisc misc)
+ add_test(testprintproperty printproperty)
+ add_test(testvalid valid)
+ if (NOT WIN32)
+ # Some test disabled, because they don't compile on Windows, missing getline, ...
+ add_executable(charwidth test/tests.h test/tests.c utf8proc.h test/charwidth.c)
+ target_link_libraries(charwidth utf8proc)
+ add_executable(graphemetest test/tests.h test/tests.c utf8proc.h test/graphemetest.c)
+ target_link_libraries(graphemetest utf8proc)
+ add_executable(normtest test/tests.h test/tests.c utf8proc.h test/normtest.c)
+ target_link_libraries(normtest utf8proc)
+ add_test(testcharwidth charwidth)
+ #add_test(testgraphemetest graphemetest data/GraphemeBreakTest.txt)
+ #add_test(testnormtest normtest data/NormalizationTest.txt)
+ endif()
+endif()
diff --git a/appveyor.yml b/appveyor.yml
@@ -16,23 +16,27 @@ build_script:
throw "There are newer queued builds for this pull request, failing early." }
- mkdir msvc_static
- cd msvc_static
- - cmake ..
+ - cmake .. -DUTF8PROC_ENABLE_TESTING=On
- cmake --build .
+ - ctest
- mkdir ..\msvc_shared
- cd ..\msvc_shared
- - cmake .. -DBUILD_SHARED_LIBS=ON
+ - cmake .. -DBUILD_SHARED_LIBS=ON -DUTF8PROC_ENABLE_TESTING=On
- cmake --build .
+ - ctest
- set PATH=C:\MinGW\bin;%PATH%
- C:\MinGW\msys\1.0\bin\sh --login -c "
cd /c/projects/utf8proc &&
mkdir mingw_static &&
cd mingw_static &&
- cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON -G'MSYS Makefiles' &&
+ cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON -DUTF8PROC_ENABLE_TESTING=On -G'MSYS Makefiles' &&
make &&
+ ctest &&
mkdir ../mingw_shared &&
cd ../mingw_shared &&
- cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_SHARED_LIBS=ON -G'MSYS Makefiles' &&
- make
+ cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_SHARED_LIBS=ON -DUTF8PROC_ENABLE_TESTING=On -G'MSYS Makefiles' &&
+ make &&
+ ctest
"
on_finish: