From 6ba3cc6ff81e9438d69ff566e7990184d2de1776 Mon Sep 17 00:00:00 2001 From: tbeu Date: Fri, 16 Aug 2024 21:10:38 +0200 Subject: [PATCH] Update test suite --- .../Resources/BuildProjects/CMake/test.cmake | 30 ++++++++++++++++-- .../Resources/Data/Tables/test.mat | Bin 936 -> 0 bytes .../Resources/Data/Tables/test_v4.mat | Bin 0 -> 777 bytes .../Resources/Data/Tables/test_v6.mat | Bin 0 -> 936 bytes .../Resources/Data/Tables/test_v7.3.mat | Bin 0 -> 4820 bytes .../Resources/Data/Tables/test_v7.mat | Bin 0 -> 416 bytes .../Resources/Test/TablesFromMatFile.cc | 23 +++++++++++--- 7 files changed, 47 insertions(+), 6 deletions(-) delete mode 100644 ModelicaTableAdditions/Resources/Data/Tables/test.mat create mode 100644 ModelicaTableAdditions/Resources/Data/Tables/test_v4.mat create mode 100644 ModelicaTableAdditions/Resources/Data/Tables/test_v6.mat create mode 100644 ModelicaTableAdditions/Resources/Data/Tables/test_v7.3.mat create mode 100644 ModelicaTableAdditions/Resources/Data/Tables/test_v7.mat diff --git a/ModelicaTableAdditions/Resources/BuildProjects/CMake/test.cmake b/ModelicaTableAdditions/Resources/BuildProjects/CMake/test.cmake index 56782c9..ef5fe87 100644 --- a/ModelicaTableAdditions/Resources/BuildProjects/CMake/test.cmake +++ b/ModelicaTableAdditions/Resources/BuildProjects/CMake/test.cmake @@ -15,12 +15,35 @@ set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) # Disable building GMock set(BUILD_GMOCK OFF CACHE BOOL "" FORCE) -# Do not install GTest +# Do not install GTest set(INSTALL_GTEST OFF CACHE BOOL "" FORCE) FetchContent_MakeAvailable(googletest) -set_target_properties(gtest gtest_main PROPERTIES FOLDER "Test/Third-party") +FetchContent_Declare( + zlib + GIT_REPOSITORY https://github.com/madler/zlib.git + GIT_TAG v1.3.1 +) + +# Do not build zlib examples +set(ZLIB_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE) + +# Do not install zlib +set(SKIP_INSTALL_ALL TRUE CACHE BOOL "" FORCE) + +FetchContent_MakeAvailable(zlib) + +# Patch zlib1.rc file to avoid syntax error +if(CYGWIN) + file(READ "${zlib_SOURCE_DIR}/win32/zlib1.rc" ZLIB_RC_CONTENT) + string(REPLACE " MOVEABLE IMPURE LOADONCALL DISCARDABLE" "" ZLIB_RC_CONTENT "${ZLIB_RC_CONTENT}") + file(WRITE "${zlib_SOURCE_DIR}/win32/zlib1.rc" "${ZLIB_RC_CONTENT}") +endif() + +set(ZLIB_INCLUDE_DIR ${zlib_SOURCE_DIR} ${zlib_BINARY_DIR}) + +set_target_properties(gtest gtest_main 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}") @@ -59,6 +82,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}) set(MODELICA_TESTS Tables @@ -81,6 +106,7 @@ if(EXISTS "${MODELICA_TABLE_ADDITIONS_TEST_DIR}") ModelicaTableAdditionsTestCommon parson gtest + zlibstatic ) if(UNIX) target_link_libraries(Test${TEST} PRIVATE m) diff --git a/ModelicaTableAdditions/Resources/Data/Tables/test.mat b/ModelicaTableAdditions/Resources/Data/Tables/test.mat deleted file mode 100644 index 0327715b60a33c4afb3f04a231e4e6274a13aa29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 936 zcmdVYzb^w}7zgmj&r}C77z`p$LVBWWsfRJ zs#jrIlD$siKZ`0RL-j<&RYbLx4y$eLsM>89wf?dI1B9w@_J=!FXGgZ*#-`k)F2;Slu0VJKjrS(`Y2Ys!ZDX;db!M4T==RR}Z6X$sBe`MbS^KIttS-<0XlYE2q J@&7F2`UUEZ*Q)>k literal 0 HcmV?d00001 diff --git a/ModelicaTableAdditions/Resources/Data/Tables/test_v6.mat b/ModelicaTableAdditions/Resources/Data/Tables/test_v6.mat new file mode 100644 index 0000000000000000000000000000000000000000..4afaf04d46023f4ce487fdef65478661141aa1fa GIT binary patch literal 936 zcmdVYzb^w}7zgmDex*8y!C(-1BO)bj^{zi~)Z1%|NL+$QEL~b{<&tvLAy_Qt&aBKP zLnlL7EE0*Nk%(vzzoU!Yd-XN&A9#`{pZELT^S-%DPE%(l)CdcByi8MP+!;NacCpE9 z!ps=C1%;_vEa-PH&ADgw#gwtW;$qQUI$@?$EV-eute#v*n7YB%Bu~I2_c3FUjplTw zuFf+l$Yie~$%=PCEM&if*xw@CxYk5Otd^)jXcuj1RlR5{_lm9&ZKFCe6G^F2tSi>W zuc~mw@V9o@3|n9;Y=aDTz)si&ov;VGpa*)P1ZC)hei(p3*a!RJ094>09D*S@3^@#c zyA4T2h7>`D6h(#?^ fE8J7U`AeL;!2CJp&hY#c`^U&f@Zjfvrl0x(U~u|E literal 0 HcmV?d00001 diff --git a/ModelicaTableAdditions/Resources/Data/Tables/test_v7.3.mat b/ModelicaTableAdditions/Resources/Data/Tables/test_v7.3.mat new file mode 100644 index 0000000000000000000000000000000000000000..b4167795711a9896ebfb9014539f6364b7333790 GIT binary patch literal 4820 zcmeZu4DoSvQZUyuR`7KU(M`+DN!3vZ$Vn_o%P-2cQgHNjF*DIENY)L{%uC5HFV<0T zE=o--Nlj5ms8;Ak=>-xFUqg zhwvB}5}*u5DBS_2S3vbMGJqfhg9KDu5NbZUx{x4OR|cR;n0+uBs*S;b1;XNh35?Ps zDg-=S9Rolfj)3|ano1c?K+_p4FiH}W3_)yIdh~!vkV!K#a6rt08pz0?0XB(|2_gWq zULR^cI-ePs@ZUzOgdPcZ?Ap02^Qc}}^ zg>otbCqx@i7bHh9Gci}NLc~B;D*!Rr8X>4{AY-hj?N8%jFaWYZ;lc});a~t3_P}yK zJ~=0`xELfZ48&|;c@U3*Atk>wDJK=gg18#Q0)b#Ze;1H@V4@08e?VkMNn%3)RNgT% zFkzH;O9>dTfghrv9!;GB8b1`4L7?KWbO}=ji$64NqukLD7!85Z5Eu=C(GVC7fzc2c z4S_)x0u{Hep5DuMkU`|=$G%G^FC0`*QVLRP`n4?2y!dP_$F*5!=SIFwE4FRf=~xpQ z@n*}v=J0}P_s^c(+4X7m@`8wXp&2f`!84BOJTvHLy|S?-bxne3c7!{#^o=88+cq}G zzDbm4&v+zow8-ZFQfvO7;>(xqiuQdM)YBcn6dv8*v|2|zP|xUI$}{udIu}oc_;31K zQ~572?cy2R4#9N&g|fWNmCWHgrs`DON={&4WM?**;s1 zmy2!{_|Dvc@7WnPuBT)0eX?XUopyY;tJo&=cJ&xpT{Ro9}hmFYI3&IQ;yl?e{sxckKi{ z+gz)91v$4|b)ILUp5iyX zT5iyLdB#D>IY)KQJ+#q#prrTE$ZAJZSKb4~Q(BU#y*-=!+-@o?&Y2Xr?SzKq_JF*) zrCjrW#osATTATIJ+5K<(wyLESw$JyzEIfK`b)LD9`}?2bTVws+M4mqrvh(K>_HApw ztdQIMdB-23K#uJf`xc> { +protected: + void SetUp() override {} + void TearDown() override {} +}; + +TEST_P(CombiTable1DTest, Steffen_47x2) { double dummy = 0.0; constexpr const auto cols = std::array{2}; auto table = ModelicaTableAdditions_CombiTable1D_init2( - "../Data/Tables/test.mat", "tab1", &dummy, 0, 0, cols.data(), cols.size(), - smooth_steffen, extrapol_error, verbose_on); + std::get<0>(GetParam()), std::get<1>(GetParam()), &dummy, 0, 0, + cols.data(), cols.size(), smooth_steffen, extrapol_error, verbose_on); const auto umin = ModelicaTableAdditions_CombiTable1D_minimumAbscissa(table); EXPECT_NEAR(umin, 0.0, 1e-10); const auto umax = ModelicaTableAdditions_CombiTable1D_maximumAbscissa(table); @@ -21,7 +28,15 @@ TEST(CombiTable1D, Steffen_47x2) { ModelicaTableAdditions_CombiTable1D_close(table); } -} // namespace +INSTANTIATE_TEST_SUITE_P( + TablesFromMatFile, CombiTable1DTest, + ::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")) +); + +} // namespace int main(int argc, char **argv) {