pypeline: re-organize tests

Split the tests into two subdirectories: those that work in pure python
and those that use the C++ bindings.
This commit is contained in:
Giacomo Vercesi
2026-02-09 15:44:21 +01:00
parent f1878f1194
commit df4f8b76ac
19 changed files with 106 additions and 96 deletions
+2 -95
View File
@@ -2,98 +2,5 @@
# This file is distributed under the MIT License. See LICENSE.md for details.
#
revng_add_test(
NAME
test_pypeline
COMMAND
"${Python_EXECUTABLE}"
-m
pytest
-p
no:cacheprovider
-v
--rootdir
"${CMAKE_CURRENT_SOURCE_DIR}"
"${CMAKE_CURRENT_SOURCE_DIR}/test_all.py")
set_tests_properties(
test_pypeline
PROPERTIES LABELS "pypeline" ENVIRONMENT
"PYTHONPATH=${CMAKE_BINARY_DIR}/${PYTHON_INSTALL_PATH}")
revng_add_test(
NAME
test_pypeline_daemon
COMMAND
"${Python_EXECUTABLE}"
-m
pytest
-p
no:cacheprovider
-v
--rootdir
"${CMAKE_CURRENT_SOURCE_DIR}"
"${CMAKE_CURRENT_SOURCE_DIR}/test_daemon.py")
set_tests_properties(
test_pypeline_daemon
PROPERTIES LABELS "pypeline" ENVIRONMENT
"PYTHONPATH=${CMAKE_BINARY_DIR}/${PYTHON_INSTALL_PATH}")
revng_add_test(
NAME
test_pype
COMMAND
"${Python_EXECUTABLE}"
-m
pytest
-p
no:cacheprovider
-v
--rootdir
"${CMAKE_CURRENT_SOURCE_DIR}"
"${CMAKE_CURRENT_SOURCE_DIR}/test_pype.py")
set_tests_properties(
test_pype PROPERTIES LABELS "pypeline" ENVIRONMENT
"PYTHONPATH=${CMAKE_BINARY_DIR}/${PYTHON_INSTALL_PATH}")
#
# Generate libmockPipeboxImpl and libmockPipebox
#
add_library(mockPipeboxImpl SHARED MockPipeboxImpl.cpp)
add_library(mockPipebox SHARED MockPipebox.cpp)
llvm_map_components_to_libnames(LLVM_LIBRARIES Support Core)
target_link_libraries(mockPipeboxImpl ${LLVM_LIBRARIES} revngSupport revngModel)
target_link_libraries(
mockPipebox
mockPipeboxImpl
${Python_LIBRARIES}
${LLVM_LIBRARIES}
nanobind
revngSupport
revngClift)
target_include_directories(mockPipebox PUBLIC ${Python_INCLUDE_DIRS})
#
# Add tests that use libmockPipebox
#
revng_add_test(
NAME pypeline-cpp-test COMMAND
"${CMAKE_CURRENT_SOURCE_DIR}/python_cpp_test.py"
"${CMAKE_CURRENT_BINARY_DIR}/libmockPipebox.so")
set_tests_properties(
pypeline-cpp-test
PROPERTIES LABELS "pypeline;test" ENVIRONMENT
"PYTHONPATH=${CMAKE_BINARY_DIR}/${PYTHON_INSTALL_PATH}")
revng_add_test(
NAME
pypeline-annotations-test
COMMAND
"${CMAKE_CURRENT_SOURCE_DIR}/nanobind_test_annotations.sh"
"${CMAKE_SOURCE_DIR}"
-l
"${CMAKE_CURRENT_BINARY_DIR}/libmockPipebox.so")
set_tests_properties(
pypeline-annotations-test
PROPERTIES LABELS "pypeline;test" ENVIRONMENT
"PYTHONPATH=${CMAKE_BINARY_DIR}/${PYTHON_INSTALL_PATH}")
add_subdirectory(python)
add_subdirectory(cpp)
+47
View File
@@ -0,0 +1,47 @@
#
# This file is distributed under the MIT License. See LICENSE.md for details.
#
#
# Generate libmockPipeboxImpl and libmockPipebox
#
add_library(mockPipeboxImpl SHARED MockPipeboxImpl.cpp)
add_library(mockPipebox SHARED MockPipebox.cpp)
llvm_map_components_to_libnames(LLVM_LIBRARIES Support Core)
target_link_libraries(mockPipeboxImpl ${LLVM_LIBRARIES} revngSupport revngModel)
target_link_libraries(
mockPipebox
mockPipeboxImpl
${Python_LIBRARIES}
${LLVM_LIBRARIES}
nanobind
revngSupport
revngClift)
target_include_directories(mockPipebox PUBLIC ${Python_INCLUDE_DIRS})
#
# Add tests that use libmockPipebox
#
revng_add_test(
NAME pypeline-cpp-test COMMAND
"${CMAKE_CURRENT_SOURCE_DIR}/python_cpp_test.py"
"${CMAKE_CURRENT_BINARY_DIR}/libmockPipebox.so")
set_tests_properties(
pypeline-cpp-test
PROPERTIES LABELS "pypeline;test" ENVIRONMENT
"PYTHONPATH=${CMAKE_BINARY_DIR}/${PYTHON_INSTALL_PATH}")
revng_add_test(
NAME
pypeline-annotations-test
COMMAND
"${CMAKE_CURRENT_SOURCE_DIR}/nanobind_test_annotations.sh"
"${CMAKE_SOURCE_DIR}"
-l
"${CMAKE_CURRENT_BINARY_DIR}/libmockPipebox.so")
set_tests_properties(
pypeline-annotations-test
PROPERTIES LABELS "pypeline;test" ENVIRONMENT
"PYTHONPATH=${CMAKE_BINARY_DIR}/${PYTHON_INSTALL_PATH}")
+56
View File
@@ -0,0 +1,56 @@
#
# This file is distributed under the MIT License. See LICENSE.md for details.
#
revng_add_test(
NAME
test_pypeline
COMMAND
"${Python_EXECUTABLE}"
-m
pytest
-p
no:cacheprovider
-v
--rootdir
"${CMAKE_CURRENT_SOURCE_DIR}"
"${CMAKE_CURRENT_SOURCE_DIR}/test_all.py")
set_tests_properties(
test_pypeline
PROPERTIES LABELS "pypeline" ENVIRONMENT
"PYTHONPATH=${CMAKE_BINARY_DIR}/${PYTHON_INSTALL_PATH}")
revng_add_test(
NAME
test_pypeline_daemon
COMMAND
"${Python_EXECUTABLE}"
-m
pytest
-p
no:cacheprovider
-v
--rootdir
"${CMAKE_CURRENT_SOURCE_DIR}"
"${CMAKE_CURRENT_SOURCE_DIR}/test_daemon.py")
set_tests_properties(
test_pypeline_daemon
PROPERTIES LABELS "pypeline" ENVIRONMENT
"PYTHONPATH=${CMAKE_BINARY_DIR}/${PYTHON_INSTALL_PATH}")
revng_add_test(
NAME
test_pype
COMMAND
"${Python_EXECUTABLE}"
-m
pytest
-p
no:cacheprovider
-v
--rootdir
"${CMAKE_CURRENT_SOURCE_DIR}"
"${CMAKE_CURRENT_SOURCE_DIR}/test_pype.py")
set_tests_properties(
test_pype PROPERTIES LABELS "pypeline" ENVIRONMENT
"PYTHONPATH=${CMAKE_BINARY_DIR}/${PYTHON_INSTALL_PATH}")
@@ -1,7 +1,7 @@
#
# This file is distributed under the MIT License. See LICENSE.md for details.
#
# pylint: disable=redefined-outer-name
# mypy: disable-error-code="attr-defined"
from __future__ import annotations