diff --git a/.github/workflows/linux_ci.yml b/.github/workflows/linux_ci.yml index d9d16153..d6d62a7a 100644 --- a/.github/workflows/linux_ci.yml +++ b/.github/workflows/linux_ci.yml @@ -93,6 +93,8 @@ jobs: run: ./scripts/bootstrap-cmake-linux-32bit.sh - name: make run: cd build_m32 && make + - name: test + run: ctest --output-on-failure build: @@ -104,3 +106,5 @@ jobs: run: ./scripts/bootstrap-cmake-linux.sh - name: make run: cd build && make + - name: tests + run: ctest --output-on-failure diff --git a/.github/workflows/macos_ci.yml b/.github/workflows/macos_ci.yml index ae7e1ccc..285830b7 100644 --- a/.github/workflows/macos_ci.yml +++ b/.github/workflows/macos_ci.yml @@ -23,5 +23,7 @@ jobs: ./scripts/bootstrap-cmake-macos.sh cd build make VERBOSE=1 - + - name: Ctest + run: | + ctest --output-on-failure diff --git a/CMakeLists.txt b/CMakeLists.txt index 1a554ec1..fca44222 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -937,7 +937,19 @@ if(TINYUSDZ_BUILD_TESTS) add_test( NAME usda-parser-unit-test COMMAND python ${PROJECT_SOURCE_DIR}/tests/usda/unit-runner.py --app - "$" --basedir "${PROJECT_SOURCE_DIR}") + "$" --basedir "${PROJECT_SOURCE_DIR}/tests/usda" + ) + endif() + + # + # USDA parser tester + # + if(TINYUSDZ_WITH_TOOL_USDC_PARSER AND TINYUSDZ_WITH_MODULE_USDC_READER) + add_test( + NAME usdc-parser-unit-test + COMMAND python ${PROJECT_SOURCE_DIR}/tests/usdc/unit-runner.py --app + "$" --basedir "${PROJECT_SOURCE_DIR}/tests/usdc" + ) endif() endif(TINYUSDZ_BUILD_TESTS) diff --git a/tests/decompress-int/CMakeLists.txt b/tests/decompress-int/CMakeLists.txt index 3fef43ea..9ee99f0d 100644 --- a/tests/decompress-int/CMakeLists.txt +++ b/tests/decompress-int/CMakeLists.txt @@ -13,13 +13,14 @@ add_executable(${TEST_TARGET_NAME} add_sanitizers(${TEST_TARGET_NAME}) -if (WIN32) - add_test(NAME ${TEST_TARGET_NAME} COMMAND "${TEST_TARGET_NAME}.exe" - WORKING_DIRECTORY $ ) -else (WIN32) - add_test(NAME ${TEST_TARGET_NAME} COMMAND "${TEST_TARGET_NAME}" - WORKING_DIRECTORY $ ) -endif (WIN32) +# TODO: Add test-decompress-int to unit test suite? +#if (WIN32) +# add_test(NAME ${TEST_TARGET_NAME} COMMAND "${TEST_TARGET_NAME}.exe" +# WORKING_DIRECTORY $ ) +#else (WIN32) +# add_test(NAME ${TEST_TARGET_NAME} COMMAND "${TEST_TARGET_NAME}" +# WORKING_DIRECTORY $ ) +#endif (WIN32) target_include_directories(${TEST_TARGET_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/src) diff --git a/tests/usda/usdskel-002.usda b/tests/usda/fail-case/usdskel-002.usda similarity index 100% rename from tests/usda/usdskel-002.usda rename to tests/usda/fail-case/usdskel-002.usda diff --git a/tests/usda/unit-runner.py b/tests/usda/unit-runner.py index 78cfc47b..6c4a931f 100644 --- a/tests/usda/unit-runner.py +++ b/tests/usda/unit-runner.py @@ -1,4 +1,5 @@ import os +import sys import glob import subprocess @@ -46,3 +47,9 @@ if __name__ == '__main__': for fname in false_negatives: print("parse should fail but reported success : ", fname) + if len(failed) > 0: + sys.exit(1) + else: + sys.exit(0) + + diff --git a/tests/usdc/usdskel-002.usdc b/tests/usdc/failure-case/usdskel-002.usdc similarity index 100% rename from tests/usdc/usdskel-002.usdc rename to tests/usdc/failure-case/usdskel-002.usdc diff --git a/tests/usdc/unit-runner.py b/tests/usdc/unit-runner.py index d10774b6..d8d96130 100644 --- a/tests/usdc/unit-runner.py +++ b/tests/usdc/unit-runner.py @@ -1,4 +1,5 @@ import os +import sys import glob import subprocess @@ -46,3 +47,8 @@ if __name__ == '__main__': for fname in false_negatives: print("parse should fail but reported success : ", fname) + + if len(failed) > 0: + sys.exit(1) + else: + sys.exit(0)