utf8proc

A clean C library for processing UTF-8 Unicode data
git clone https://git.sinitax.com/juliastrings/utf8proc
Log | Files | Refs | README | LICENSE | sfeed.txt

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:
M.travis.yml | 4++--
MCMakeLists.txt | 35+++++++++++++++++++++++++++++++++++
Mappveyor.yml | 14+++++++++-----
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: