mirror of
https://github.com/zint/zint
synced 2024-11-16 20:57:25 +13:00
afea0ad2c3
test_file_unreadable cannot be implemented easily, as files are always readable by their owner on windows. While `_chmod` is available in the POSIX compatibility function set, it cannot be used to take away read permissions, either. While here, move functional code out of any assert statements. It shall be executed even when the assertions are disabled |
||
---|---|---|
.. | ||
cmake/Modules | ||
data | ||
tools | ||
CMakeLists.txt | ||
README | ||
test_2of5.c | ||
test_auspost.c | ||
test_aztec.c | ||
test_big5_tab.h | ||
test_big5.c | ||
test_bmp.c | ||
test_channel.c | ||
test_codablock.c | ||
test_code1.c | ||
test_code16k.c | ||
test_code49.c | ||
test_code128.c | ||
test_code.c | ||
test_common.c | ||
test_composite.c | ||
test_dmatrix.c | ||
test_dotcode.c | ||
test_eci.c | ||
test_emf.c | ||
test_gb2312_tab.h | ||
test_gb2312.c | ||
test_gb18030_tab.h | ||
test_gb18030.c | ||
test_gif.c | ||
test_gridmtx.c | ||
test_gs1.c | ||
test_hanxin.c | ||
test_imail.c | ||
test_iso3166.c | ||
test_iso4217.c | ||
test_ksx1001_tab.h | ||
test_ksx1001.c | ||
test_large.c | ||
test_library.c | ||
test_mailmark.c | ||
test_maxicode.c | ||
test_medical.c | ||
test_pcx.c | ||
test_pdf417.c | ||
test_plessey.c | ||
test_png.c | ||
test_postal.c | ||
test_print.c | ||
test_ps.c | ||
test_qr.c | ||
test_raster.c | ||
test_reedsol.c | ||
test_rss.c | ||
test_sjis_tab.h | ||
test_sjis.c | ||
test_svg.c | ||
test_telepen.c | ||
test_tif.c | ||
test_ultra.c | ||
test_upcean.c | ||
test_vector.c | ||
testcommon.c | ||
testcommon.h |
Zint backend test suite ----------------------- In order to build the zint test suite, zint has to be compiled with the ZINT_TEST option enabled: cd <project-dir> mkdir build cd build cmake -DZINT_TEST=ON .. make ------------------------------------------------------------------------------ In order to run the test suite, the path of the zint library may need to be communicated to the runtime linker. On UNIX-like systems, this is done by exporting LD_LIBRARY_PATH to the path containing the zint library, which is <build-dir>/backend: cd <project-dir> cd build export LD_LIBRARY_PATH=$(pwd)/backend Setting LD_LIBRARY_PATH is not required if the zint library to be tested is installed into a system library path ( /usr/lib for example ) prior to running the tests. To run all tests (within <build-dir>): ctest For various useful options, e.g. matching (-R) and excluding (-E) tests, see https://cmake.org/cmake/help/latest/manual/ctest.1.html#options Tests can also be run individually, eg: backend/tests/test_common backend/tests/test_vector To run a single test function within an individual test, use '-f <func-name>': backend/tests/test_common -f utf8_to_unicode backend/tests/test_dotcode -f input To run a single dataset item in a single test function, use '-i <index>': backend/tests/test_dotcode -f input -i 2 To show debug info (if any), use '-d <flag>': backend/tests/test_dotcode -f input -i 2 -d 1 (for other flags see <project-dir>/backend/tests/testcommon.h) To generate test data, use '-g': backend/tests/test_dotcode -f encode -g To run a test against BWIPP (if any), use '-d 128': backend/tests/test_composite -d 128 (see also <project-dir>/backend/tests/tools/run_bwipp_tests.sh) ------------------------------------------------------------------------------ If the zint library was built with static linkage support, i.e. ZINT_STATIC is ON, an additional test executable, which uses the zint-static library, will be built. The static variant of each test shares the test name, but has a "-static" suffix. For example, backend/tests/test_dotcode would run the dotcode test that uses the shared zint library, while backend/tests/test_dotcode-static runs the same test built against the zint-static library. ------------------------------------------------------------------------------ To make with gcc sanitize, first set for libzint and make: cd <project-dir> cd build cmake -DZINT_SANITIZE=ON .. make && sudo make install Similarly to make with gcc debug: cd <project-dir> cd build cmake -DZINT_DEBUG=ON .. make && sudo make install To undo sanitize/debug, remake each after setting: cmake -DZINT_SANITIZE=OFF .. cmake -DZINT_DEBUG=OFF .. To get a clean libzint, set the above and also: cmake -DZINT_TEST=OFF .. (The tests will now fail to link.)