From 101e524731a242a58c06415e6cf2d49d4d322cfe Mon Sep 17 00:00:00 2001 From: Maurice Heumann Date: Wed, 19 Mar 2025 10:46:00 +0100 Subject: [PATCH] Run analyzer test --- .github/workflows/build.yml | 1 + cmake/utils.cmake | 7 +++++++ src/analyzer/CMakeLists.txt | 12 +++++++++++ src/analyzer/test.py | 26 ++++++++++++++++++++++++ src/windows-emulator-test/CMakeLists.txt | 5 ----- 5 files changed, 46 insertions(+), 5 deletions(-) create mode 100644 src/analyzer/test.py diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b624a1ad..98690739 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -323,6 +323,7 @@ jobs: env: EMULATOR_ROOT: ${{github.workspace}}/build/${{matrix.preset}}/artifacts/root EMULATOR_VERBOSE: ${{ github.event.inputs.verbose }} + ANALYSIS_SAMPLE: ${{github.workspace}}/build/${{matrix.preset}}/artifacts/dump-apiset.exe smoke-test-android: name: Smoke Test Android diff --git a/cmake/utils.cmake b/cmake/utils.cmake index 8b2171f4..32aeaa52 100644 --- a/cmake/utils.cmake +++ b/cmake/utils.cmake @@ -2,6 +2,13 @@ include_guard() ########################################## +set(PYTHON3_EXE "python3") +if(CMAKE_SYSTEM_NAME MATCHES "Windows") + set(PYTHON3_EXE "python") +endif() + +########################################## + function(momo_silence_deprecation_warnings) set(CMAKE_WARN_DEPRECATED_OLD ${CMAKE_WARN_DEPRECATED} PARENT_SCOPE) set(CMAKE_WARN_DEPRECATED OFF CACHE BOOL "" FORCE) diff --git a/src/analyzer/CMakeLists.txt b/src/analyzer/CMakeLists.txt index 51a4615e..0cfffb61 100644 --- a/src/analyzer/CMakeLists.txt +++ b/src/analyzer/CMakeLists.txt @@ -23,3 +23,15 @@ target_link_libraries(analyzer PRIVATE set_property(GLOBAL PROPERTY VS_STARTUP_PROJECT analyzer) momo_strip_target(analyzer) + +set(ENV_PREFIX "$") +set(ENV_SUFFIX "") + +if(WIN) +set(ENV_PREFIX "%") +set(ENV_SUFFIX "%") +endif() + +add_test(NAME analyzer-test + COMMAND "${PYTHON3_EXE}" "${CMAKE_CURRENT_LIST_DIR}/test.py" + WORKING_DIRECTORY "$") diff --git a/src/analyzer/test.py b/src/analyzer/test.py new file mode 100644 index 00000000..fd907dc4 --- /dev/null +++ b/src/analyzer/test.py @@ -0,0 +1,26 @@ +import os +import subprocess + +emulator_root = os.getenv('EMULATOR_ROOT') +analysis_sample = os.getenv('ANALYSIS_SAMPLE') +virtual_sample = 'C:/analysis-sample.exe' + +application = 'analyzer' + +def make_app(app): + if os.name == 'nt': + return app + ".exe" + + return app + +command = [ + os.path.join(os.getcwd(), make_app(application)), + '-c', + '-e', emulator_root, + '-p', virtual_sample, analysis_sample, + virtual_sample +] + +result = subprocess.run(command, cwd=os.getcwd()) + +exit(result.returncode) diff --git a/src/windows-emulator-test/CMakeLists.txt b/src/windows-emulator-test/CMakeLists.txt index 03e29838..e1be9cb7 100644 --- a/src/windows-emulator-test/CMakeLists.txt +++ b/src/windows-emulator-test/CMakeLists.txt @@ -20,11 +20,6 @@ if(WIN32) add_dependencies(windows-emulator-test test-sample) endif() -set(PYTHON3_EXE "python3") -if(CMAKE_SYSTEM_NAME MATCHES "Windows") - set(PYTHON3_EXE "python") -endif() - add_test(NAME windows-emulator-test COMMAND "${PYTHON3_EXE}" "${PROJECT_SOURCE_DIR}/deps/gtest-parallel/gtest_parallel.py" ./windows-emulator-test WORKING_DIRECTORY "$")