* Initial python support

* Add python testing

* Increase timeout for bin tests

* cmake-format

* Valid build types + testing + formatting + more

- Enforce valid build types
- Fix to numpy install
- Increase testing timeout
- Fix to cmake format glob
- Fix to backtrace verbose

* Disable stripping libraries by default

* omnitrace exe updates

- new '--print-instructions' option
- changed format of instructions in JSON
- remove no-save-fpr tests

* Default to strip libraries when release build
Этот коммит содержится в:
Jonathan R. Madsen authored and GitHub committed 2022-04-05 00:24:34 -05:00
1 родитель 945f541965
Коммит afa3edebab
42 files changed
+2442 -239

No files matched your search

+92 -41
Просмотреть файл
@@ -236,6 +236,77 @@ endfunction()
# -------------------------------------------------------------------------------------- #
function(OMNITRACE_ADD_PYTHON_TEST)
if(NOT OMNITRACE_USE_PYTHON)
return()
endif()
cmake_parse_arguments(
TEST
"STANDALONE" # options
"NAME;FILE;TIMEOUT" # single value args
"PROFILE_ARGS;RUN_ARGS;ENVIRONMENT;LABELS;PROPERTIES" # multiple value args
${ARGN})
if(NOT TEST_TIMEOUT)
set(TEST_TIMEOUT 120)
endif()
if(NOT DEFINED TEST_ENVIRONMENT OR "${TEST_ENVIRONMENT}" STREQUAL "")
set(TEST_ENVIRONMENT "${_test_environment}")
endif()
list(APPEND TEST_ENVIRONMENT "OMNITRACE_CI=ON")
list(APPEND TEST_ENVIRONMENT "PYTHONPATH=${CMAKE_BINARY_DIR}/python:$ENV{PYTHONPATH}")
list(APPEND TEST_LABELS "python")
get_filename_component(_TEST_FILE "${TEST_FILE}" NAME)
configure_file(${TEST_FILE} ${CMAKE_BINARY_DIR}/${_TEST_FILE} @ONLY)
if(NOT TEST_STANDALONE)
endif()
if(TEST_STANDALONE)
add_test(
NAME ${TEST_NAME}-run
COMMAND ${PYTHON_EXECUTABLE} ${_TEST_FILE} ${TEST_RUN_ARGS}
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
else()
add_test(
NAME ${TEST_NAME}-run
COMMAND ${PYTHON_EXECUTABLE} -m omnitrace ${TEST_PROFILE_ARGS} --
${_TEST_FILE} ${TEST_RUN_ARGS}
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
endif()
foreach(_TEST run)
string(REGEX REPLACE "-run(-|/)" "\\1" _prefix "${TEST_NAME}-${_TEST}/")
set(_environ "${TEST_ENVIRONMENT}")
set(_labels "${_TEST}")
set(_timeout ${TEST_TIMEOUT})
list(APPEND _environ "OMNITRACE_OUTPUT_PATH=omnitrace-tests-output"
"OMNITRACE_OUTPUT_PREFIX=${_prefix}")
string(REPLACE "-run" "" _labels "${_TEST}")
string(REPLACE "-sampling" ";sampling" _labels "${_labels}")
set(_props)
if("${_TEST}" MATCHES "run|baseline")
set(_props ${TEST_PROPERTIES})
if(NOT "RUN_SERIAL" IN_LIST _props)
list(APPEND _props RUN_SERIAL ON)
endif()
endif()
if(TEST ${TEST_NAME}-${_TEST})
set_tests_properties(
${TEST_NAME}-${_TEST}
PROPERTIES ENVIRONMENT "${_environ}" TIMEOUT ${_timeout} LABELS
"${_labels};${TEST_LABELS}" ${_props})
endif()
endforeach()
endfunction()
# -------------------------------------------------------------------------------------- #
omnitrace_add_test(
NAME transpose
TARGET transpose
@@ -245,26 +316,6 @@ omnitrace_add_test(
RUNTIME_ARGS -e -v 1 --label file line return args
ENVIRONMENT "${_base_environment};OMNITRACE_CRITICAL_TRACE=ON")
omnitrace_add_test(
NAME transpose-no-save-fpr
TARGET transpose
MPI ${TRANSPOSE_USE_MPI}
NUM_PROCS ${NUM_PROCS}
REWRITE_ARGS -e -v 2 --dyninst-options DelayedParsing TypeChecking
RUNTIME_ARGS
-e
-v
1
--label
file
line
return
args
--dyninst-options
DelayedParsing
TypeChecking
ENVIRONMENT "${_fast_environment}")
omnitrace_add_test(
NAME parallel-overhead
TARGET parallel-overhead
@@ -313,27 +364,6 @@ omnitrace_add_test(
RUN_ARGS 10 ${NUM_THREADS} 1000
ENVIRONMENT "${_base_environment};OMNITRACE_CRITICAL_TRACE=OFF")
omnitrace_add_test(
NAME parallel-overhead-no-save-fpr
TARGET parallel-overhead
REWRITE_ARGS -e -v 2 --min-address-range-loop=32 --dyninst-options DelayedParsing
TypeChecking
RUNTIME_ARGS
-e
-v
1
--min-address-range-loop=32
--label
file
line
return
args
--dyninst-options
DelayedParsing
TypeChecking
RUN_ARGS 10 ${NUM_THREADS} 1000
ENVIRONMENT "${_fast_environment}")
omnitrace_add_test(
NAME lulesh
TARGET lulesh
@@ -434,3 +464,24 @@ omnitrace_add_test(
REWRITE_TIMEOUT 180
RUNTIME_TIMEOUT 360
ENVIRONMENT "${_ompt_environment}")
omnitrace_add_python_test(
NAME python-external
FILE ${CMAKE_SOURCE_DIR}/examples/python/external.py
PROFILE_ARGS -l -f
RUN_ARGS 10
ENVIRONMENT "${_base_environment};OMNITRACE_USE_PID=OFF")
omnitrace_add_python_test(
NAME python-builtin
FILE ${CMAKE_SOURCE_DIR}/examples/python/builtin.py
PROFILE_ARGS -b -l -f
RUN_ARGS 10
ENVIRONMENT "${_base_environment};OMNITRACE_USE_PID=OFF")
omnitrace_add_python_test(
STANDALONE
NAME python-source
FILE ${CMAKE_SOURCE_DIR}/examples/python/source.py
RUN_ARGS 5
ENVIRONMENT "${_base_environment};OMNITRACE_USE_PID=OFF")