Skip to content
Snippets Groups Projects
Commit 0f57ee7a authored by Yen-Chen Chen's avatar Yen-Chen Chen Committed by Pradipta Samanta
Browse files

Improve C++ test (!110)


## What is the bug
The C++ test code for `mo_util_stride` uses the experimental standard library.  
The filesystem standard library is automatically linked in C++17
## How do you fix it
Replace with the standard library


Merged-by: default avatarPradipta Samanta <samanta@dkrz.de>
Changelog: bugfix
parent fffe28d0
No related branches found
No related tags found
1 merge request!110Improve C++ test
Pipeline #97194 passed
......@@ -31,7 +31,7 @@ function(fs_add_c_test test_name)
add_executable("CTest_${test_name}" ${ARG_SOURCES})
target_link_libraries(
"CTest_${test_name}" PRIVATE fortran-support::fortran-support
GTest::gtest_main stdc++fs)
GTest::gtest_main)
add_test(NAME "CTest_${test_name}" COMMAND "CTest_${test_name}" ${ARG_ARGS})
set_property(TEST "CTest_${test_name}" PROPERTY LABELS C)
set_target_properties("CTest_${test_name}"
......
......@@ -10,7 +10,7 @@
// ---------------------------------------------------------------
#include <gtest/gtest.h>
#include <experimental/random>
#include <random>
#include <util_stride.h>
......@@ -47,13 +47,17 @@ TEST_F(UtilStrideTest, CanGet1DStride) {
}
TEST_F(UtilStrideTest, CanGet1DStride2) {
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution<int> dist(0, 499);
int stride;
float f_array[1000];
double d_array[1000];
int p1 = std::experimental::randint(0, 499);
int p2 = std::experimental::randint(500, 999);
int p1 = dist(gen);
int p2 = 500 + dist(gen);
util_stride_1d(&stride, sizeof(float), &f_array[p1], &f_array[p2]);
EXPECT_EQ(stride, p2 - p1);
......@@ -78,14 +82,18 @@ TEST_F(UtilStrideTest, CanGet2DStride) {
}
TEST_F(UtilStrideTest, CanGet2DStride2) {
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution<int> dist(0, 499);
int stride[2];
float f_array[1000];
double d_array[1000];
int p1 = std::experimental::randint(0, 499);
int p2 = std::experimental::randint(500, 999);
int p3 = std::experimental::randint(500, 999);
int p1 = dist(gen);
int p2 = 500 + dist(gen);
int p3 = 500 + dist(gen);
util_stride_2d(&stride[0], sizeof(float), &f_array[p1], &f_array[p2],
&f_array[p3]);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment