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 <[email protected]>
AuthorDate: Tue Aug 15 13:49:06 2023 +0200
MINIFICPP-2183 fix MacOS CI failure
Signed-off-by: Gabor Gyimesi <[email protected]>
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());