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());

Reply via email to