This is an automated email from the ASF dual-hosted git repository. lordgamez pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git
The following commit(s) were added to refs/heads/main by this push: new 2cef282cf MINIFICPP-2183 fix MacOS CI failure 2cef282cf is described below commit 2cef282cf973d5c47db4c191a615990a8eb4092c Author: Martin Zink <martinz...@apache.org> AuthorDate: Tue Aug 15 13:49:06 2023 +0200 MINIFICPP-2183 fix MacOS CI failure Signed-off-by: Gabor Gyimesi <gamezb...@gmail.com> This closes #1629 --- .github/workflows/ci.yml | 12 +++++------- cmake/BuildTests.cmake | 13 ++++++++++--- extensions/lua/tests/CMakeLists.txt | 1 + .../tests/TestExecuteScriptProcessorWithLuaScript.cpp | 3 +-- extensions/python/tests/CMakeLists.txt | 19 +------------------ .../python/tests/ExecutePythonProcessorTests.cpp | 3 +-- .../TestExecuteScriptProcessorWithPythonScript.cpp | 3 +-- 7 files changed, 20 insertions(+), 34 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8f95a7463..9eff11a07 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,7 +8,7 @@ env: jobs: macos_xcode: name: "macos-xcode" - runs-on: macos-12 + runs-on: macos-13 timeout-minutes: 180 env: CCACHE_BASEDIR: ${{ GITHUB.WORKSPACE }} @@ -28,21 +28,19 @@ jobs: run: | # Skip brew update until https://github.com/actions/setup-python/issues/577 is fixed # brew update - HOMEBREW_NO_AUTO_UPDATE=1 brew install ossp-uuid flex lua ccache sqliteodbc automake autoconf + HOMEBREW_NO_AUTO_UPDATE=1 brew install ossp-uuid flex lua ccache sqliteodbc automake autoconf ninja - id: setup_env name: setup enviroment run: | echo "PATH=/usr/lib/ccache:/usr/local/opt/ccache/bin:/usr/local/opt/ccache/libexec:$PATH" >> $GITHUB_ENV echo -e "127.0.0.1\t$HOSTNAME" | sudo tee -a /etc/hosts > /dev/null - # https://github.com/actions/virtual-environments/blob/main/images/macos/macos-12-Readme.md#xcode - sudo xcode-select -switch /Applications/Xcode_14.0.1.app - name: build run: | export PATH="/usr/local/opt/flex/bin:$PATH" export LDFLAGS="-L/usr/local/opt/flex/lib" export CPPFLAGS="-I/usr/local/opt/flex/include" # CPPFLAGS are not recognized by cmake, so we have to force them to CFLAGS and CXXFLAGS to have flex 2.6 working - ./bootstrap.sh -e -t && cd build && cmake -DCMAKE_BUILD_TYPE=Release -DCI_BUILD=ON -DCMAKE_C_FLAGS="${CPPFLAGS} ${CFLAGS}" -DCMAKE_CXX_FLAGS="${CPPFLAGS} ${CXXFLAGS}" -DENABLE_PYTHON_SCRIPTING=ON -DENABLE_LUA_SCRIPTING=ON -DENABLE_SQL=ON -DUSE_REAL_ODBC_TEST_DRIVER=ON -DENABLE_AZURE=ON -DENABLE_GCP=ON -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_RULE_MESSAGES=OFF -DSTRICT_GSL_CHECKS=AUDIT -DFAIL_ON_WARNINGS=ON .. && cmake --build . --parallel 4 + ./bootstrap.sh -e -t && cd build && cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCI_BUILD=ON -DCMAKE_C_FLAGS="${CPPFLAGS} ${CFLAGS}" -DCMAKE_CXX_FLAGS="${CPPFLAGS} ${CXXFLAGS}" -DENABLE_PYTHON_SCRIPTING=ON -DENABLE_LUA_SCRIPTING=ON -DENABLE_SQL=ON -DUSE_REAL_ODBC_TEST_DRIVER=ON -DENABLE_AZURE=ON -DENABLE_GCP=ON -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_RULE_MESSAGES=OFF -DSTRICT_GSL_CHECKS=AUDIT -DFAIL_ON_WARNINGS=ON .. && cmake --build . --parallel 4 - name: cache save uses: actions/cache/save@v3 if: always() @@ -54,9 +52,9 @@ jobs: run: | # Set core file size limit to 1GiB ulimit -c 1048576 - cd build && make test ARGS="--timeout 300 -j4 --output-on-failure" + cd build && ctest -j4 --output-on-failure --timeout 300 - name: linter - run: cd build && make -j4 linter + run: cd build && ninja linter - name: check-cores if: ${{ failure() && steps.test.conclusion == 'failure' }} run: | diff --git a/cmake/BuildTests.cmake b/cmake/BuildTests.cmake index 183ce5a0f..63539dc05 100644 --- a/cmake/BuildTests.cmake +++ b/cmake/BuildTests.cmake @@ -32,10 +32,17 @@ ENDMACRO() set(NANOFI_TEST_DIR "${CMAKE_SOURCE_DIR}/nanofi/tests/") function(copyTestResources SOURCE_DIR DEST_DIR) - file(GLOB RESOURCE_FILES "${SOURCE_DIR}/*") + file(GLOB_RECURSE RESOURCE_FILES "${SOURCE_DIR}/*") foreach(RESOURCE_FILE ${RESOURCE_FILES}) - get_filename_component(RESOURCE_FILENAME "${RESOURCE_FILE}" NAME) - set(dest_file "${DEST_DIR}/${RESOURCE_FILENAME}") + if(IS_DIRECTORY "${RESOURCE_FILE}") + continue() + endif() + + file(RELATIVE_PATH RESOURCE_RELATIVE_PATH "${SOURCE_DIR}" "${RESOURCE_FILE}") + get_filename_component(RESOURCE_DEST_DIR "${DEST_DIR}/${RESOURCE_RELATIVE_PATH}" DIRECTORY) + + file(MAKE_DIRECTORY "${RESOURCE_DEST_DIR}") + set(dest_file "${DEST_DIR}/${RESOURCE_RELATIVE_PATH}") configure_file(${RESOURCE_FILE} ${dest_file} COPYONLY) endforeach() diff --git a/extensions/lua/tests/CMakeLists.txt b/extensions/lua/tests/CMakeLists.txt index ce0576b6a..3c7af6a44 100644 --- a/extensions/lua/tests/CMakeLists.txt +++ b/extensions/lua/tests/CMakeLists.txt @@ -34,4 +34,5 @@ FOREACH(testfile ${EXECUTESCRIPT_LUA_TESTS}) add_test(NAME "${testfilename}" COMMAND "${testfilename}" WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) ENDFOREACH() +copyTestResources(${CMAKE_CURRENT_SOURCE_DIR}/test_lua_scripts/ ${CMAKE_BINARY_DIR}/bin/resources/test_lua_scripts/) message("-- Finished building ${EXTENSIONS_TEST_COUNT} tests for minifi-lua-script-extension...") diff --git a/extensions/lua/tests/TestExecuteScriptProcessorWithLuaScript.cpp b/extensions/lua/tests/TestExecuteScriptProcessorWithLuaScript.cpp index e6779e1cb..992a4bb5d 100644 --- a/extensions/lua/tests/TestExecuteScriptProcessorWithLuaScript.cpp +++ b/extensions/lua/tests/TestExecuteScriptProcessorWithLuaScript.cpp @@ -275,8 +275,7 @@ TEST_CASE("Lua: Test Module Directory property", "[executescriptLuaModuleDirecto minifi::test::SingleProcessorTestController controller{execute_script}; LogTestController::getInstance().setTrace<ExecuteScript>(); - const auto script_files_directory = std::filesystem::path(__FILE__).parent_path() / "test_lua_scripts"; - + const auto script_files_directory = minifi::utils::file::FileUtils::get_executable_dir() / "resources" / "test_lua_scripts"; execute_script->setProperty(ExecuteScript::ScriptEngine, "lua"); execute_script->setProperty(ExecuteScript::ScriptFile, (script_files_directory / "foo_bar_processor.lua").string()); diff --git a/extensions/python/tests/CMakeLists.txt b/extensions/python/tests/CMakeLists.txt index 3b6699b69..3bf6f7edc 100644 --- a/extensions/python/tests/CMakeLists.txt +++ b/extensions/python/tests/CMakeLists.txt @@ -33,15 +33,6 @@ FOREACH(testfile ${EXECUTESCRIPT_PYTHON_TESTS}) createTests("${testfilename}") MATH(EXPR EXTENSIONS_TEST_COUNT "${EXTENSIONS_TEST_COUNT}+1") add_test(NAME "${testfilename}" COMMAND "${testfilename}" WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) - - if(EXTENSIONS_TEST_COUNT EQUAL 1) - add_custom_command( - TARGET "${testfilename}" - POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_directory - "${CMAKE_SOURCE_DIR}/extensions/python/tests/test_python_scripts" - "$<TARGET_FILE_DIR:${testfilename}>/test_python_scripts") - endif() ENDFOREACH() FOREACH(testfile ${EXECUTEPYTHONPROCESSOR_UNIT_TESTS}) @@ -62,15 +53,7 @@ FOREACH(testfile ${EXECUTEPYTHONPROCESSOR_UNIT_TESTS}) createTests("${testfilename}") MATH(EXPR EXTENSIONS_TEST_COUNT "${EXTENSIONS_TEST_COUNT}+1") add_test(NAME "${testfilename}" COMMAND "${testfilename}" WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) - - if(EXTENSIONS_TEST_COUNT EQUAL 1) - add_custom_command( - TARGET "${testfilename}" - POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_directory - "${CMAKE_SOURCE_DIR}/extensions/script/tests/test_python_scripts" - "$<TARGET_FILE_DIR:${testfilename}>/test_python_scripts") - endif() ENDFOREACH() +copyTestResources(${CMAKE_CURRENT_SOURCE_DIR}/test_python_scripts/ ${CMAKE_BINARY_DIR}/bin/resources/test_python_scripts/) message("-- Finished building ${EXTENSIONS_TEST_COUNT} tests for minifi-python-script-extension...") diff --git a/extensions/python/tests/ExecutePythonProcessorTests.cpp b/extensions/python/tests/ExecutePythonProcessorTests.cpp index fd582cc23..7cea60c0c 100644 --- a/extensions/python/tests/ExecutePythonProcessorTests.cpp +++ b/extensions/python/tests/ExecutePythonProcessorTests.cpp @@ -40,8 +40,7 @@ class ExecutePythonProcessorTestBase { ExecutePythonProcessorTestBase() : logTestController_(LogTestController::getInstance()), logger_(logging::LoggerFactory<ExecutePythonProcessorTestBase>::getLogger()) { - auto path = std::filesystem::path(__FILE__).parent_path(); - SCRIPT_FILES_DIRECTORY = minifi::utils::file::FileUtils::get_executable_dir() / "test_python_scripts"; + SCRIPT_FILES_DIRECTORY = minifi::utils::file::FileUtils::get_executable_dir() / "resources" / "test_python_scripts"; reInitialize(); } virtual ~ExecutePythonProcessorTestBase() { diff --git a/extensions/python/tests/TestExecuteScriptProcessorWithPythonScript.cpp b/extensions/python/tests/TestExecuteScriptProcessorWithPythonScript.cpp index 7b5f3fa1e..86f2fbde0 100644 --- a/extensions/python/tests/TestExecuteScriptProcessorWithPythonScript.cpp +++ b/extensions/python/tests/TestExecuteScriptProcessorWithPythonScript.cpp @@ -221,8 +221,7 @@ TEST_CASE("Python: Test Module Directory property", "[executescriptPythonModuleD minifi::test::SingleProcessorTestController controller{execute_script}; LogTestController::getInstance().setTrace<ExecuteScript>(); - const auto script_files_directory = std::filesystem::path(__FILE__).parent_path() / "test_python_scripts"; - + const auto script_files_directory = minifi::utils::file::FileUtils::get_executable_dir() / "resources" / "test_python_scripts"; execute_script->setProperty(ExecuteScript::ScriptEngine, "python"); execute_script->setProperty(ExecuteScript::ScriptFile, (script_files_directory / "foo_bar_processor.py").string());