Files
poco/Data/testsuite/CMakeLists.txt
Aleksandar Fabijanic bd09152aff feat(ODBC): nix shells for mssql and oracle #5144 (#5145)
* feat(ODBC): nix shells for mssql and oracle #5144

* fix(cmake): not using cppignore #5146

* fix(Data/ODBC): Improve Nix CI container startup and debugging

Oracle (oracle.nix):
- Add --shm-size=1g for Oracle container (requires 1GB shared memory)
- Add container state verification before exec commands
- Add proper error handling with container log output on failure
- Add pre-flight checks in build_and_test to verify container running
- Add Podman environment info for CI debugging
- Add progress indicators during Oracle startup wait
- Exit with error in CI mode if container fails to start

MSSQL (mssql.nix):
- Add ODBCINSTINI environment variable
- Add sync command to flush ODBC configs to disk
- Add odbcinst verification commands

Temporarily disable all ci except nix #5144

* try newer oracle version

* use ubuntu 24.04 for nix ci (podman related)

* chore(c): restore ci.yml

* Update Data/ODBC/oracle.nix

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update Data/ODBC/oracle.nix

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update Data/ODBC/mssql.nix

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update Data/ODBC/oracle.nix

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix(odbc): verify oracle downloads #5144

* chore(doc): update nix documentation #5144

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-05 05:13:58 +01:00

43 lines
1.3 KiB
CMake

# Sources
file(GLOB SRCS_G "src/*.cpp")
LIST(REMOVE_ITEM SRCS_G "${CMAKE_CURRENT_SOURCE_DIR}/src/SQLExecutor.cpp")
POCO_SOURCES_AUTO(TEST_SRCS ${SRCS_G})
# Headers
file(GLOB HDRS_G "src/*.h")
POCO_HEADERS_AUTO(TEST_SRCS ${HDRS_G})
POCO_SOURCES_AUTO_PLAT(TEST_SRCS OFF
src/WinDriver.cpp
)
add_executable(Data-testrunner ${TEST_SRCS})
set_target_properties(Data-testrunner PROPERTIES DEBUG_POSTFIX "d")
if(ANDROID)
add_test(
NAME Data
WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
COMMAND ${CMAKE_COMMAND} -DANDROID_NDK=${ANDROID_NDK} -DLIBRARY_DIR=${CMAKE_BINARY_DIR}/lib -DUNITTEST=${CMAKE_BINARY_DIR}/bin/Data-testrunner -DTEST_PARAMETER=-all -P ${PROJECT_SOURCE_DIR}/cmake/ExecuteOnAndroid.cmake
)
else()
if(WIN32)
set(CPPIGNORE_FILE "${PROJECT_SOURCE_DIR}/cppignore.win")
else()
set(CPPIGNORE_FILE "${PROJECT_SOURCE_DIR}/cppignore.lnx")
endif()
add_test(
NAME Data
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMAND Data-testrunner -ignore ${CPPIGNORE_FILE} -all
)
set_tests_properties(Data PROPERTIES ENVIRONMENT POCO_BASE=${PROJECT_SOURCE_DIR})
endif()
target_link_libraries(Data-testrunner PUBLIC Poco::DataTest Poco::Data CppUnit)
if(NOT POCO_DATA_NO_SQL_PARSER)
target_include_directories(Data-testrunner
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../SQLParser/src
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../SQLParser
)
endif()