Skip to content

Commit

Permalink
Update test suite
Browse files Browse the repository at this point in the history
  • Loading branch information
tbeu committed Aug 18, 2024
1 parent 15a46ff commit b44fc72
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 6 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/checkCI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ jobs:
elif [ "${{ matrix.compiler }}" == "mingw" ]; then
cmake -S "$SRCDIR" -B build -DMODELICA_UTILITIES_INCLUDE_DIR="$TESTDIR" -DBUILD_TESTING=ON -DMODELICA_DEBUG_TIME_EVENTS=ON -DCMAKE_BUILD_TYPE=${{ matrix.configuration }} -G "MinGW Makefiles"
else
cmake -S "$SRCDIR" -B build -DMODELICA_UTILITIES_INCLUDE_DIR="$TESTDIR" -DBUILD_TESTING=ON -DMODELICA_DEBUG_TIME_EVENTS=ON -DCMAKE_BUILD_TYPE=${{ matrix.configuration }} -DCMAKE_C_FLAGS="-std=c89 -Wall -Wextra"
cmake -S "$SRCDIR" -B build -DMODELICA_UTILITIES_INCLUDE_DIR="$TESTDIR" -DBUILD_TESTING=ON -DMODELICA_DEBUG_TIME_EVENTS=ON -DCMAKE_BUILD_TYPE=${{ matrix.configuration }} -DCMAKE_C_FLAGS="-Wall -Wextra"
fi
env:
SRCDIR: ${{ github.workspace }}/ModelicaTableAdditions/Resources
Expand All @@ -74,7 +74,7 @@ jobs:
build_cmake_windows-cygwin:
name: build_cmake_windows-cygwin
runs-on: windows-latest
timeout-minutes: 5
timeout-minutes: 10
strategy:
matrix:
configuration:
Expand Down
53 changes: 50 additions & 3 deletions ModelicaTableAdditions/Resources/BuildProjects/CMake/test.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,55 @@ if(CYGWIN)
file(WRITE "${zlib_SOURCE_DIR}/win32/zlib1.rc" "${ZLIB_RC_CONTENT}")
endif()

set(ZLIB_FOUND ON)
set(ZLIB_INCLUDE_DIR ${zlib_SOURCE_DIR} ${zlib_BINARY_DIR})
set(ZLIB_INCLUDE_DIRS ${zlib_SOURCE_DIR} ${zlib_BINARY_DIR})
set(ZLIB_USE_EXTERNAL ON)

set_target_properties(gtest gtest_main zlib zlibstatic PROPERTIES FOLDER "Test/Third-party")
FetchContent_Declare(
hdf5
GIT_REPOSITORY https://github.com/HDFGroup/hdf5.git
GIT_TAG hdf5_1.14.4.3
)

set(HDF5_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
set(HDF5_BUILD_HL_LIB OFF CACHE BOOL "" FORCE)
set(HDF5_BUILD_PARALLEL_TOOLS OFF CACHE BOOL "" FORCE)
set(HDF5_BUILD_TOOLS OFF CACHE BOOL "" FORCE)
set(HDF5_BUILD_UTILS OFF CACHE BOOL "" FORCE)
set(HDF5_DISABLE_COMPILER_WARNINGS ON CACHE BOOL "" FORCE)
set(HDF5_ENABLE_ALL_WARNINGS OFF CACHE BOOL "" FORCE)
set(HDF5_ENABLE_DEPRECATED_SYMBOLS OFF CACHE BOOL "" FORCE)
set(HDF5_ENABLE_NONSTANDARD_FEATURES OFF CACHE BOOL "" FORCE)
set(HDF5_ENABLE_SZIP_SUPPORT OFF CACHE BOOL "" FORCE)
set(HDF5_ENABLE_WARNINGS_AS_ERRORS OFF CACHE BOOL "" FORCE)
set(HDF5_ENABLE_Z_LIB_SUPPORT ON CACHE BOOL "" FORCE)
set(HDF5_EXPORTED_TARGETS)
set(HDF5_EXTERNALLY_CONFIGURED ON CACHE BOOL "" FORCE)
set(HDF5_INSTALL_NO_DEVELOPMENT ON CACHE BOOL "" FORCE)
set(HDF5_TEST_CPP OFF CACHE BOOL "" FORCE)
set(HDF5_TEST_EXAMPLES OFF CACHE BOOL "" FORCE)
set(HDF5_TEST_SERIAL OFF CACHE BOOL "" FORCE)
set(HDF5_TEST_SWMR OFF CACHE BOOL "" FORCE)
set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)
set(CMAKE_SKIP_INSTALL_ALL_DEPENDENCY ON CACHE BOOL "" FORCE)

FetchContent_MakeAvailable(hdf5)

# Patch CMakeLists.txt file to skip any installation
file(READ "${hdf5_SOURCE_DIR}/CMakeLists.txt" HDF5_CMAKELISTS_CONTENT)
string(REPLACE "include (CMakeInstallation.cmake)" "" HDF5_CMAKELISTS_CONTENT "${HDF5_CMAKELISTS_CONTENT}")
file(WRITE "${hdf5_SOURCE_DIR}/CMakeLists.txt" "${HDF5_CMAKELISTS_CONTENT}")

# Patch CMakeLists.txt file to skip any installation
file(READ "${hdf5_SOURCE_DIR}/src/CMakeLists.txt" HDF5_CMAKELISTS_CONTENT)
string(REPLACE "# Add Target(s) to CMake Install for import into other projects" "if (FALSE)" HDF5_CMAKELISTS_CONTENT "${HDF5_CMAKELISTS_CONTENT}")
string(REPLACE "# Option to build documentation" "endif()" HDF5_CMAKELISTS_CONTENT "${HDF5_CMAKELISTS_CONTENT}")
file(WRITE "${hdf5_SOURCE_DIR}/src/CMakeLists.txt" "${HDF5_CMAKELISTS_CONTENT}")

set(HDF5_INCLUDE_DIR "${hdf5_SOURCE_DIR}/src" "${hdf5_SOURCE_DIR}/src/H5FDsubfiling" "${hdf5_BINARY_DIR}/src")

set_target_properties(gtest gtest_main hdf5-static zlib zlibstatic PROPERTIES FOLDER "Test/Third-party")

set(MODELICA_TABLE_ADDITIONS_TEST_DIR "${MODELICA_TABLE_ADDITIONS_RESOURCES_DIR}/Test")
if(EXISTS "${MODELICA_TABLE_ADDITIONS_TEST_DIR}")
Expand Down Expand Up @@ -82,8 +128,8 @@ if(EXISTS "${MODELICA_TABLE_ADDITIONS_TEST_DIR}")
if(MSVC)
target_compile_options(ModelicaTableAdditionsTestCommon PRIVATE /wd4267)
endif()
target_compile_definitions(ModelicaTableAdditionsTestCommon PRIVATE -DHAVE_ZLIB=1)
target_include_directories(ModelicaTableAdditionsTestCommon PRIVATE ${ZLIB_INCLUDE_DIR})
target_compile_definitions(ModelicaTableAdditionsTestCommon PRIVATE -DHAVE_ZLIB=1 -DHAVE_HDF5=1)
target_include_directories(ModelicaTableAdditionsTestCommon PRIVATE ${ZLIB_INCLUDE_DIR} ${HDF5_INCLUDE_DIR})

set(MODELICA_TESTS
Tables
Expand All @@ -106,6 +152,7 @@ if(EXISTS "${MODELICA_TABLE_ADDITIONS_TEST_DIR}")
ModelicaTableAdditionsTestCommon
parson
gtest
hdf5-static
zlibstatic
)
if(UNIX)
Expand Down
3 changes: 2 additions & 1 deletion ModelicaTableAdditions/Resources/Test/TablesFromMatFile.cc
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,8 @@ INSTANTIATE_TEST_SUITE_P(
::testing::Values(
std::make_pair("../Data/Tables/test_v4.mat", "tab1"),
std::make_pair("../Data/Tables/test_v6.mat", "tab1"),
std::make_pair("../Data/Tables/test_v7.mat", "tab1"))
std::make_pair("../Data/Tables/test_v7.mat", "tab1"),
std::make_pair("../Data/Tables/test_v7.3.mat", "tab1"))
);

} // namespace
Expand Down

0 comments on commit b44fc72

Please sign in to comment.