# # rocprofv3 tool tests for collection period # cmake_minimum_required(VERSION 3.21.0 FATAL_ERROR) project( rocprofiler-sdk-tests-rocprofv3-collection-period LANGUAGES CXX VERSION 0.0.0) if(ROCPROFILER_MEMCHECK STREQUAL "ThreadSanitizer") set(IS_THREAD_SANITIZER ON) else() set(IS_THREAD_SANITIZER OFF) endif() find_package(rocprofiler-sdk REQUIRED) string(REPLACE "LD_PRELOAD=" "ROCPROF_PRELOAD=" PRELOAD_ENV "${ROCPROFILER_MEMCHECK_PRELOAD_ENV}") set(collection-period-env "${PRELOAD_ENV}" ROCPROF_COLLECTION_PERIOD_TESTING=true) rocprofiler_configure_pytest_files(CONFIG pytest.ini COPY validate.py conftest.py) ########################################################################################## # # Command line input # ########################################################################################## rocprofiler_add_integration_execute_test( rocprofv3-test-collection-period COMMAND $ --runtime-trace --summary -d ${CMAKE_CURRENT_BINARY_DIR}/collection-period -o out --output-format csv json pftrace otf2 --log-level warning --collection-period 0:1:1 1:1:2 0.5:0.5:0 --collection-period-unit sec -- $ 5000 4 DEPENDS reproducible-runtime TIMEOUT 45 LABELS "integration-tests" PRELOAD "${PRELOAD_ENV}" ENVIRONMENT "ROCPROF_COLLECTION_PERIOD_TESTING=true" FIXTURES_SETUP rocprofv3-test-collection-period UNSTABLE) rocprofiler_add_integration_validate_test( rocprofv3-test-collection-period TEST_PATHS validate.py COPY conftest.py CONFIG pytest.ini ARGS --json-input ${CMAKE_CURRENT_BINARY_DIR}/collection-period/out_results.json --pftrace-input ${CMAKE_CURRENT_BINARY_DIR}/collection-period/out_results.pftrace --otf2-input ${CMAKE_CURRENT_BINARY_DIR}/collection-period/out_results.otf2 --collection-period-input ${CMAKE_CURRENT_BINARY_DIR}/collection-period/out_collection_periods.log TIMEOUT 45 LABELS "integration-tests" FIXTURES_REQUIRED rocprofv3-test-collection-period UNSTABLE) # Conflict: --selected-regions + --collection-period should fail rocprofiler_add_integration_execute_test( rocprofv3-test-collection-period-selected-regions-conflict-will-fail COMMAND $ --selected-regions --collection-period 0:1:1 --collection-period-unit sec -- $ 100 1 DEPENDS reproducible-runtime TIMEOUT 45 LABELS "integration-tests" WILL_FAIL FAIL_REGULAR_EXPRESSION "--selected-regions and --collection-period are mutually exclusive")