Skip to content

Commit 0d0d23b

Browse files
authored
Migrated last test cases to automated registration (lballabio#1861)
2 parents 5d8a3a5 + 7dd751c commit 0d0d23b

10 files changed

+786
-1020
lines changed

acinclude.m4

Lines changed: 15 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -119,37 +119,29 @@ AC_DEFUN([QL_CHECK_BOOST_VERSION_1_59_OR_HIGHER],
119119
AC_DEFUN([QL_CHECK_BOOST_UNIT_TEST],
120120
[AC_MSG_CHECKING([for Boost.Test])
121121
AC_REQUIRE([AC_PROG_CC])
122-
ql_original_CXXFLAGS=$CXXFLAGS
123-
for test_flags in "" \
124-
"-DBOOST_TEST_MAIN -DBOOST_TEST_DYN_LINK" ; do
125-
# static version
126-
CXXFLAGS="$ql_original_CXXFLAGS $test_flags"
127-
boost_unit_found=no
128-
AC_LINK_IFELSE([AC_LANG_SOURCE(
129-
[@%:@include <boost/test/included/unit_test.hpp>
130-
using namespace boost::unit_test_framework;
131-
test_suite*
132-
init_unit_test_suite(int argc, char** argv)
133-
{
134-
return (test_suite*) 0;
135-
}
136-
])],
137-
[boost_unit_found=yes
138-
boost_defines=$test_flags
139-
break],
140-
[])
141-
done
142-
CXXFLAGS="$ql_original_CXXFLAGS"
122+
# static version
123+
boost_unit_found=no
124+
AC_LINK_IFELSE([AC_LANG_SOURCE(
125+
[@%:@include <boost/test/included/unit_test.hpp>
126+
using namespace boost::unit_test_framework;
127+
test_suite*
128+
init_unit_test_suite(int argc, char** argv)
129+
{
130+
return (test_suite*) 0;
131+
}
132+
])],
133+
[boost_unit_found=yes
134+
boost_defines=$test_flags
135+
break],
136+
[])
143137
if test "$boost_unit_found" = no ; then
144138
AC_MSG_RESULT([no])
145139
AC_SUBST([HAVE_BOOST_TEST],[""])
146-
AC_SUBST([BOOST_UNIT_TEST_MAIN_CXXFLAGS],[""])
147140
AC_MSG_WARN([Boost unit-test framework not found.])
148141
AC_MSG_WARN([The test suite will be disabled.])
149142
else
150143
AC_MSG_RESULT([yes])
151144
AC_SUBST([HAVE_BOOST_TEST],["yes"])
152-
AC_SUBST([BOOST_UNIT_TEST_MAIN_CXXFLAGS],[$boost_defines])
153145
fi
154146
])
155147

test-suite/CMakeLists.txt

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,6 @@ set(QL_TEST_SOURCES
175175
)
176176

177177
set(QL_TEST_HEADERS
178-
marketmodel.hpp
179178
paralleltestrunner.hpp
180179
preconditions.hpp
181180
quantlibglobalfixture.hpp
@@ -212,27 +211,15 @@ set(QL_BENCHMARK_SOURCES
212211
swaptionvolstructuresutilities.hpp
213212
)
214213

215-
if (QL_BUILD_TEST_SUITE OR QL_BUILD_BENCHMARK)
216-
add_library(ql_unit_test_main STATIC main.cpp)
217-
target_include_directories(ql_unit_test_main PRIVATE
218-
${PROJECT_BINARY_DIR}
219-
${PROJECT_SOURCE_DIR})
220-
target_include_directories(ql_unit_test_main SYSTEM PRIVATE
221-
${Boost_INCLUDE_DIRS})
222-
if (NOT Boost_USE_STATIC_LIBS)
223-
target_compile_definitions(ql_unit_test_main PRIVATE BOOST_TEST_DYN_LINK)
224-
endif()
225-
endif()
226-
227214
if (QL_BUILD_TEST_SUITE)
228215
add_executable(ql_test_suite ${QL_TEST_SOURCES} ${QL_TEST_HEADERS})
229216
set_target_properties(ql_test_suite PROPERTIES OUTPUT_NAME "quantlib-test-suite")
217+
set_source_files_properties(quantlibtestsuite.cpp PROPERTIES SKIP_UNITY_BUILD_INCLUSION true)
230218
if (NOT Boost_USE_STATIC_LIBS)
231-
target_compile_definitions(ql_test_suite PRIVATE BOOST_ALL_DYN_LINK BOOST_TEST_DYN_LINK)
219+
target_compile_definitions(ql_test_suite PRIVATE BOOST_ALL_DYN_LINK)
232220
endif()
233221
target_link_libraries(ql_test_suite PRIVATE
234222
ql_library
235-
ql_unit_test_main
236223
${QL_THREAD_LIBRARIES})
237224
if(MSVC AND CMAKE_UNITY_BUILD)
238225
# for Unity builds, we need to add /bigobj
@@ -249,11 +236,10 @@ IF (QL_BUILD_BENCHMARK)
249236
set_target_properties(ql_benchmark PROPERTIES OUTPUT_NAME "quantlib-benchmark")
250237
set_source_files_properties(quantlibbenchmark.cpp PROPERTIES SKIP_UNITY_BUILD_INCLUSION true)
251238
if (NOT Boost_USE_STATIC_LIBS)
252-
target_compile_definitions(ql_benchmark PRIVATE BOOST_ALL_DYN_LINK BOOST_TEST_DYN_LINK)
239+
target_compile_definitions(ql_benchmark PRIVATE BOOST_ALL_DYN_LINK)
253240
endif()
254241
target_link_libraries(ql_benchmark PRIVATE
255242
ql_library
256-
ql_unit_test_main
257243
${QL_THREAD_LIBRARIES})
258244
if(MSVC AND CMAKE_UNITY_BUILD)
259245
# for Unity builds, we need to add /bigobj

test-suite/Makefile.am

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,6 @@ QL_TEST_SRCS = \
175175
zerocouponswap.cpp
176176

177177
QL_TEST_HDRS = \
178-
marketmodel.hpp \
179178
preconditions.hpp \
180179
quantlibglobalfixture.hpp \
181180
swaptionvolstructuresutilities.hpp \
@@ -226,10 +225,6 @@ if BUILD_TEST_SUITE
226225

227226
AM_CPPFLAGS = -I${top_builddir} -I${top_srcdir}
228227

229-
noinst_LTLIBRARIES = libUnitMain.la
230-
libUnitMain_la_SOURCES = main.cpp
231-
libUnitMain_la_CXXFLAGS = ${BOOST_UNIT_TEST_MAIN_CXXFLAGS}
232-
233228
if AUTO_BENCHMARK
234229
bin_PROGRAMS = quantlib-test-suite quantlib-benchmark
235230
else
@@ -272,10 +267,10 @@ EXTRA_DIST =
272267

273268
endif
274269

275-
quantlib_test_suite_LDADD = libUnitMain.la ${top_builddir}/ql/libQuantLib.la \
270+
quantlib_test_suite_LDADD = ${top_builddir}/ql/libQuantLib.la \
276271
${PTHREAD_LIB} ${BOOST_INTERPROCESS_LIB}
277272

278-
quantlib_benchmark_LDADD = libUnitMain.la ${top_builddir}/ql/libQuantLib.la \
273+
quantlib_benchmark_LDADD = ${top_builddir}/ql/libQuantLib.la \
279274
${PTHREAD_LIB}
280275

281276
TESTS = quantlib-test-suite$(EXEEXT)

test-suite/main.cpp

Lines changed: 0 additions & 20 deletions
This file was deleted.

0 commit comments

Comments
 (0)