diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9853dd398be4e38aec9848766a28b8b849de75a7..f4492e89d52cbfd58d1a1fb8a90af75d92faa380 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -39,6 +39,7 @@ stages: stage: test <<: *src_except_definition script: + - apt-get update && apt-get install -y cmake libhdf5-dev - cmake -E make_directory build - cd build - cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=RELEASE .. @@ -142,6 +143,40 @@ marqov_Buster_pgi: - cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_CXX_COMPILER="/opt/pgi/linux86-64/2019/bin/pgc++" .. - make MARQOV VERBOSE=1 +MARQOVtest_Stretch: + image: git.physik.uni-wuerzburg.de:25812/z03/pdi/debian:stretch-gxx + <<: *test_definition + +MARQOVtest_Buster: + image: git.physik.uni-wuerzburg.de:25812/z03/pdi/debian:buster-gxx + <<: *test_definition + +marqovtest_Buster_clang: + image: git.physik.uni-wuerzburg.de:25812/z03/pdi/debian:buster-clang + stage: test + <<: *src_except_definition + script: + - apt-get update && apt-get install -y libhdf5-dev + - cmake -E make_directory build + - cd build + - cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_CXX_COMPILER=clang++ .. + - cmake --build . --target all --config Release + - ctest -O log.txt + - cat log.txt | grep "tests passed" | cut -d " " -f 1 + +marqovtest_Buster_pgi: + image: git.physik.uni-wuerzburg.de:25812/z03/pdi/debian:buster-pgi1910-cmake + stage: test + <<: *src_except_definition + script: + - apt-get update && apt-get install -y libhdf5-dev + - cmake -E make_directory build + - cd build + - cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_CXX_COMPILER="/opt/pgi/linux86-64/2019/bin/pgc++" .. + - cmake --build . --target all --config Release + - ctest -O log.txt + - cat log.txt | grep "tests passed" | cut -d " " -f 1 + marqov_Bullseye-PGI-21-03: image: git.physik.uni-wuerzburg.de:25812/z03/pdi/debian:bullseye-pgi-21-03 stage: build diff --git a/CMakeLists.txt b/CMakeLists.txt index 4903deb4c68e0a3f34ee61e95f9c804ea55cbbe3..f1bf003c8061f910c5a7eb2491e91b71ebd06ecd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -26,5 +26,5 @@ endif() add_subdirectory(src) -#add_subdirectory(testsuite) -#enable_testing() +add_subdirectory(testsuite) +enable_testing() diff --git a/src/libmarqov/CMakeLists.txt b/src/libmarqov/CMakeLists.txt index 2b99106a1c91f68ee0f056fee7d736d9296c8cfa..ea5381b4983079457530ca5fba4e9d897d398f56 100644 --- a/src/libmarqov/CMakeLists.txt +++ b/src/libmarqov/CMakeLists.txt @@ -40,7 +40,7 @@ if( (NOT HDF5_FOUND) ) endif() set(MYHDF5INCLUDES ${HDF5_INCLUDE_DIR} ${libhdf5_BINARY_DIR}) - set(MYHDF5LIBS hdf5_cpp-static) + set(MYHDF5LIBS hdf5_cpp-static) else() message(FATAL_ERROR "HDF5 not found and environment(cmake < 3.12) unsuited for automatic retrieval!") endif() diff --git a/testsuite/CMakeLists.txt b/testsuite/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..3ef4fb6ac692d8b2c8dce997c47836f6417ec373 --- /dev/null +++ b/testsuite/CMakeLists.txt @@ -0,0 +1,6 @@ +cmake_minimum_required(VERSION 3.0.0) +Project(MARQOV.tests CXX) + +add_subdirectory(components) +# add_subdirectory(systems) +enable_testing() diff --git a/testsuite/components/1-cachecontainer.cpp b/testsuite/components/1-cachecontainer.cpp new file mode 100644 index 0000000000000000000000000000000000000000..c5ec9abdb7d742594c1b7788c1e38da842993817 --- /dev/null +++ b/testsuite/components/1-cachecontainer.cpp @@ -0,0 +1,23 @@ +#include +#include "cachecontainer.h" + +using namespace std; + +int main() +{ + { + std::string filename("test.h5"); + auto flag = H5F_ACC_TRUNC; + H5::H5File file(filename, flag); + H5::Group obs1(file.createGroup("obs1")); + H5::Group obs2(file.createGroup("obs2")); + + CacheContainer testcont(obs1, "testobs", "a test description"); + CacheContainer testint(obs2, "testint", "a test int description"); + for (uint i = 0; i < 2000000; ++i) + { + testcont<<42.0; + testint<<42; + } + } +} diff --git a/testsuite/1-cachecontainer.cpp b/testsuite/components/2-cachecontainer-long-sim.cpp similarity index 100% rename from testsuite/1-cachecontainer.cpp rename to testsuite/components/2-cachecontainer-long-sim.cpp diff --git a/testsuite/2-cachecontainer.cpp b/testsuite/components/3-cachecontainer-long-obs.cpp similarity index 100% rename from testsuite/2-cachecontainer.cpp rename to testsuite/components/3-cachecontainer-long-obs.cpp diff --git a/testsuite/components/CMakeLists.txt b/testsuite/components/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..07b88db72b7b42d23da092126d72365cf5e0a611 --- /dev/null +++ b/testsuite/components/CMakeLists.txt @@ -0,0 +1,21 @@ +cmake_minimum_required(VERSION 3.0.0) +Project(components.tests CXX) +set(CMAKE_CXX_STANDARD 14) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +add_executable(1-cachecontainer 1-cachecontainer.cpp) +add_executable(2-cachecontainer-long-sim 2-cachecontainer-long-sim.cpp) +add_executable(3-cachecontainer-long-obs 3-cachecontainer-long-obs.cpp) +target_link_libraries(1-cachecontainer libmarqov) +target_include_directories(1-cachecontainer PUBLIC ${CMAKE_SOURCE_DIR}/src/libmarqov) + +target_link_libraries(2-cachecontainer-long-sim libmarqov) +target_include_directories(2-cachecontainer-long-sim PUBLIC ${CMAKE_SOURCE_DIR}/src/libmarqov) + +target_link_libraries(3-cachecontainer-long-obs libmarqov) +target_include_directories(3-cachecontainer-long-obs PUBLIC ${CMAKE_SOURCE_DIR}/src/libmarqov) + +enable_testing() +add_test(1-cachecontainer 1-cachecontainer) +add_test(2-cachecontainer-long-sim 2-cachecontainer-long-sim) +add_test(3-cachecontainer-long-obs 3-cachecontainer-long-obs)