mirror of
https://github.com/KhronosGroup/SPIRV-Tools
synced 2024-11-25 04:50:04 +00:00
03000a3a38
This forks the testing harness from https://github.com/google/shaderc to allow testing CLI tools. New features needed for SPIRV-Tools include: 1- A new PlaceHolder subclass for spirv shaders. This place holder calls spirv-as to convert assembly input into SPIRV bytecode. This is required for most tools in SPIRV-Tools. 2- A minimal testing file for testing basic functionality of spirv-opt. Add tests for all flags in spirv-opt. 1. Adds tests to check that known flags match the names that each pass advertises. 2. Adds tests to check that -O, -Os and --legalize-hlsl schedule the expected passes. 3. Adds more functionality to Expect classes to support regular expression matching on stderr. 4. Add checks for integer arguments to optimization flags. 5. Fixes #1817 by modifying the parsing of integer arguments in flags that take them. 6. Fixes -Oconfig file parsing (#1778). It reads every line of the file into a string and then parses that string by tokenizing every group of characters between whitespaces (using the standard cin reading operator). This mimics shell command-line parsing, but it does not support quoting (and I'm not planning to).
21 lines
846 B
CMake
21 lines
846 B
CMake
# Find nosetests; see spirv_add_nosetests() for opting in to nosetests in a
|
|
# specific directory.
|
|
find_program(NOSETESTS_EXE NAMES nosetests PATHS $ENV{PYTHON_PACKAGE_PATH})
|
|
if (NOT NOSETESTS_EXE)
|
|
message(STATUS "SPIRV-Tools: nosetests was not found - python support code will not be tested")
|
|
else()
|
|
message(STATUS "SPIRV-Tools: nosetests found - python support code will be tested")
|
|
endif()
|
|
|
|
# Run nosetests on file ${PREFIX}_nosetest.py. Nosetests will look for classes
|
|
# and functions whose names start with "nosetest". The test name will be
|
|
# ${PREFIX}_nosetests.
|
|
function(spirv_add_nosetests PREFIX)
|
|
if(NOT "${SPIRV_SKIP_TESTS}" AND NOSETESTS_EXE)
|
|
add_test(
|
|
NAME ${PREFIX}_nosetests
|
|
COMMAND ${NOSETESTS_EXE} -m "^[Nn]ose[Tt]est" -v
|
|
${CMAKE_CURRENT_SOURCE_DIR}/${PREFIX}_nosetest.py)
|
|
endif()
|
|
endfunction()
|