cmake - Add ability to run tests under CMake

This commit is contained in:
RobGowin 2016-01-18 10:33:34 -06:00 committed by Rob Gowin
parent 9b82651d3a
commit 42e5dd5c8c
61 changed files with 886 additions and 18 deletions

View File

@ -11,6 +11,8 @@ ENDIF()
PROJECT (Gnucash)
ENABLE_TESTING()
# Version number of gnucash
SET (GNUCASH_MAJOR_VERSION 2)
SET (GNUCASH_MINOR_VERSION 6)
@ -43,6 +45,7 @@ INCLUDE (CheckIncludeFiles)
INCLUDE (GncAddSchemeTargets)
INCLUDE (GncConfigure)
INCLUDE (GncAddGSchemaTargets)
INCLUDE (GncAddTest)
# ############################################################
# These options are settable from the CMake command line. For example, to disable
@ -76,6 +79,8 @@ SET(DATADIRNAME share)
SET(GNC_SYSTEM_XDG_DATA_DIRS /usr/local/share /usr/share)
SET(GNC_DBD_DIR ${CMAKE_PREFIX_PATH}/lib/dbd CACHE PATH "specify location of libdbi drivers")
SET(PKGLIBDIR ${CMAKE_INSTALL_PREFIX}/lib/gnucash)
SET(TEST_MYSQL_URL "" CACHE STRING "MySQL database URL for testing")
SET(TEST_PGSQL_URL "" CACHE STRING "PgSQL database URL for testing")
IF(GNC_BUILD_AS_INSTALL)
SET(DATADIR_BUILD ${CMAKE_BINARY_DIR}/${DATADIRNAME})
@ -85,6 +90,11 @@ IF(GNC_BUILD_AS_INSTALL)
ENDIF()
SET(SHELL_FROM_ENV $ENV{SHELL})
SET(SHELL bin/bash)
IF (SHELL_FROM_ENV) # Replacing this with IF ($ENV{SHELL}) doesn't work.
SET(SHELL ${SHELL_FROM_ENV})
ENDIF()
IF (WIN32)
# Help Windows find the various dependencies. We assume here that the standard advice for building
@ -379,6 +389,25 @@ IF (GNC_BUILD_AS_INSTALL)
ENDIF()
# ############################################################
SET(CMAKE_CTEST_COMMAND ctest)
IF (XCODE_VERSION)
SET(CMAKE_CTEST_COMMAND ctest -C Debug)
ENDIF()
# There are targets that need to build before tests will run
ADD_CUSTOM_TARGET(check
COMMAND ${CMAKE_CTEST_COMMAND}
DEPENDS gnucash scm-app-utils scm-gnome-utils scm-report-gnome
scm-engine scm-gnc-module scm-test-engine scm-report-system-3
scm-test-core scm-test-report-system scm-standard-reports-2
scm-test-standard-reports foo gncmodfoo baz gncmodbaz
bar gncmodbar gncmod_agedver gncmod_incompatdep
gncmod_futuremodsys
)
IF (NOT WIN32)
ADD_DEPENDENCIES(check gncmod-backend-xml-link)
ENDIF()
# The subdirectories
ADD_SUBDIRECTORY (accounts)
ADD_SUBDIRECTORY (checks)
@ -441,7 +470,9 @@ SET(gnucash_DOCS
INSTALL(FILES ${gnucash_DOCS} DESTINATION share/doc/gnucash)
# Link COPYING to LICENSE
#Link LICENSE to COPYING so that people expecting to find it,
#will. COPYING is normally linked by autogen.sh to the latest
#automake-provided version.
SET (_CMD create_symlink)
IF (WIN32)
SET(_CMD copy)

View File

@ -29,10 +29,10 @@ faster that using the default Makefile generator to me.)
== Scope
The scope of the current work is to duplicate the `make` and `make
install` actions as the Autotools system would. Currently, there is no
support for `make check`, `make dist`, `make distcheck` or similar
targets. Other limitations include:
The scope of the current work is to duplicate the `make`,
`make check` and `make install` actions as the Autotools system would.
Currently, there is no support for `make dist`, `make distcheck` or
similar targets. Other limitations include:
* Not all options available in `./configure` have been ported to
this CMake system.
@ -152,6 +152,24 @@ For Xcode via the command line (see below to build from within Xcode):
$ xcodebuild -jobs N [-target=install]
=== Running tests
To run the Gnucash tests (also called checks), use the `check` target.
For ninja, use:
$ ninja check
For Makefiles:
$ make check
For Xcode via the command line:
$ xcodebuild -jobs N -target=check
A test summary will appear in the terminal. Full logs are available
in at Testing/Temporary/LastTest.log in the build directory.
=== Launching GnuCash
Assuming the build completes successfully, in all cases you can run
@ -186,7 +204,6 @@ Then continue to follow the existing build instructions.
At this writing, generating a distribution with the CMake build
via dist.sh has not been tested.
== Using Xcode on OS X
CMake can generate build files for Xcode such that GnuCash can be

View File

@ -103,6 +103,7 @@ IF (APPLE)
# FIXME: HANDLE gtk-mac-integration-gtk2
SET(GNC_PLATFORM_DARWIN 1)
SET(GNC_PLATFORM_OSX 1)
SET(PLATFORM_OSX 1)
SET(HAVE_OSX_KEYCHAIN 1)
ENDIF(APPLE)

View File

@ -1,4 +1,4 @@
ADD_SUBDIRECTORY(test)
# Build the library
SET (app_utils_noinst_HEADERS

View File

@ -0,0 +1,28 @@
SET(APP_UTILS_TEST_INCLUDE_DIRS
${CMAKE_SOURCE_DIR}/src/app-utils
${CMAKE_SOURCE_DIR}/src/libqof/qof # for qof.h
${CMAKE_SOURCE_DIR}/src/test-core
${CMAKE_SOURCE_DIR}/src/engine/test-core
${CMAKE_BINARY_DIR}/src # for config.h
${GLIB2_INCLUDE_DIRS}
${GUILE_INCLUDE_DIRS}
)
SET(APP_UTILS_TEST_LIBS gncmod-app-utils gncmod-test-engine gnc-qof test-core ${GUILE_LDFLAGS})
MACRO(ADD_APP_UTILS_TEST _TARGET _SOURCE_FILES)
GNC_ADD_TEST(${_TARGET} "${_SOURCE_FILES}" APP_UTILS_TEST_INCLUDE_DIRS APP_UTILS_TEST_LIBS)
ENDMACRO()
ADD_APP_UTILS_TEST(test-exp-parser test-exp-parser.c)
GNC_ADD_TEST_WITH_GUILE(test-link-module test-link-module APP_UTILS_TEST_INCLUDE_DIRS APP_UTILS_TEST_LIBS)
ADD_APP_UTILS_TEST(test-print-parse-amount test-print-parse-amount.c)
# This test not run in autotools build.
#GNC_ADD_TEST_WITH_GUILE(test-print-queries test-print-queries.c APP_UTILS_TEST_INCLUDE_DIRS APP_UTILS_TEST_LIBS)
GNC_ADD_TEST_WITH_GUILE(test-scm-query-string test-scm-query-string.c
APP_UTILS_TEST_INCLUDE_DIRS APP_UTILS_TEST_LIBS
)
ADD_APP_UTILS_TEST(test-sx test-sx.c)
GNC_ADD_SCHEME_TEST(scm-test-load-module test-load-module.in)

View File

@ -1,5 +1,7 @@
# CMakeLists.txt for src/backend/dbi
ADD_SUBDIRECTORY(test)
# Source file gncmod-backend-dbi.c does not appear to be use in Makefile.in, so not included here.
SET (backend_dbi_SOURCES

View File

@ -0,0 +1,31 @@
SET(BACKEND_DBI_TEST_INCLUDE_DIRS
${CMAKE_BINARY_DIR}/src # for config.h
${CMAKE_SOURCE_DIR}/src/core-utils
${CMAKE_SOURCE_DIR}/src/backend/dbi/test
${CMAKE_SOURCE_DIR}/src/backend/sql
${CMAKE_SOURCE_DIR}/src/libqof/qof # for qof.h
${CMAKE_SOURCE_DIR}/src/engine
${CMAKE_SOURCE_DIR}/src/engine/test-core
${CMAKE_SOURCE_DIR}/src/test-core
${LIBDBI_INCLUDE_PATH}
${GLIB2_INCLUDE_DIRS}
)
SET(BACKEND_DBI_TEST_LIBS gnc-backend-sql gncmod-engine gncmod-test-engine gnc-qof test-core ${LIBDBI_LIBRARY})
SET(test_dbi_backend_SOURCES
test-backend-dbi.c
test-backend-dbi-basic.c
test-dbi-business-stuff.c
test-dbi-stuff.c
)
GNC_ADD_TEST(test-backend-dbi "${test_dbi_backend_SOURCES}"
BACKEND_DBI_TEST_INCLUDE_DIRS BACKEND_DBI_TEST_LIBS
)
TARGET_COMPILE_DEFINITIONS(test-backend-dbi PRIVATE
TEST_MYSQL_URL=\"${TEST_MYSQL_URL}\"
TEST_PGSQL_URL=\"${TEST_PGSQL_URL}\"
DBI_TEST_XML_FILENAME=\"${CMAKE_CURRENT_SOURCE_DIR}/test-dbi.xml\"
)

View File

@ -1,6 +1,6 @@
# CMakeLists.txt for src/backend/dbi
ADD_SUBDIRECTORY(test)
SET (backend_sql_SOURCES
gnc-backend-sql.c

View File

@ -0,0 +1,23 @@
SET(BACKEND_SQL_TEST_INCLUDE_DIRS
${CMAKE_BINARY_DIR}/src # for config.h
${CMAKE_SOURCE_DIR}/src/backend/sql
${CMAKE_SOURCE_DIR}/src/libqof/qof # for qof.
${CMAKE_SOURCE_DIR}/src/engine
${CMAKE_SOURCE_DIR}/src/test-core
${GLIB2_INCLUDE_DIRS}
)
SET(BACKEND_SQL_TEST_LIBS gnc-backend-sql gncmod-engine gnc-qof test-core)
# This test does not actually do anything.
GNC_ADD_TEST(test-column-types test-column-types.c
BACKEND_SQL_TEST_INCLUDE_DIRS BACKEND_SQL_TEST_LIBS
)
GNC_ADD_TEST(test-sqlbe "test-sqlbe.c;utest-gnc-backend-sql.c"
BACKEND_SQL_TEST_INCLUDE_DIRS BACKEND_SQL_TEST_LIBS
)
TARGET_COMPILE_DEFINITIONS(test-sqlbe PRIVATE TESTPROG=test_sqlbe)

View File

@ -1,5 +1,7 @@
# CMakeLists.txt for src/backend/xml
ADD_SUBDIRECTORY(test)
# Command to generate the swig-engine.c wrapper file
SET (SWIG_GNC_MODULE_C ${CMAKE_CURRENT_BINARY_DIR}/swig-gnc-module.c)
GNC_ADD_SWIG_COMMAND (${SWIG_GNC_MODULE_C} ${CMAKE_CURRENT_SOURCE_DIR}/gnc-module.i)

View File

@ -0,0 +1,99 @@
# Common stuff
SET(XML_TEST_INCLUDE_DIRS
${CMAKE_SOURCE_DIR}/src/backend/xml
${CMAKE_SOURCE_DIR}/src/backend/xml/test
${CMAKE_SOURCE_DIR}/src/engine
${CMAKE_SOURCE_DIR}/src/engine/test-core
${CMAKE_SOURCE_DIR}/src/libqof/qof # for qof.h
${CMAKE_BINARY_DIR}/src # for config.h
${CMAKE_SOURCE_DIR}/src/test-core # for unittest-support.h
${GLIB2_INCLUDE_DIRS}
${LIBXML2_INCLUDE_DIRS}
${ZLIB_INCLUDE_DIRS}
)
SET(XML_TEST_LIBS gncmod-engine gnc-qof gncmod-test-engine test-core ${LIBXML2_LDFLAGS} -lz)
FUNCTION(ADD_XML_TEST _TARGET _SOURCE_FILES)
GNC_ADD_TEST(${_TARGET} "${_SOURCE_FILES}" XML_TEST_INCLUDE_DIRS XML_TEST_LIBS ${ARGN})
ENDFUNCTION()
################################
SET(test_backend_xml_base_SOURCES
${CMAKE_SOURCE_DIR}/src/backend/xml/sixtp-dom-parsers.c
${CMAKE_SOURCE_DIR}/src/backend/xml/sixtp-dom-generators.c
${CMAKE_SOURCE_DIR}/src/backend/xml/sixtp-utils.c
${CMAKE_SOURCE_DIR}/src/backend/xml/sixtp.c
${CMAKE_SOURCE_DIR}/src/backend/xml/sixtp-stack.c
${CMAKE_SOURCE_DIR}/src/backend/xml/sixtp-to-dom-parser.c
${CMAKE_SOURCE_DIR}/src/backend/xml/gnc-xml-helper.c
)
## the xml backend is now a GModule - this test does
## not load it as a module and cannot link to it
## and remain portable.
SET(test_backend_xml_module_SOURCES
${test_backend_xml_base_SOURCES}
${CMAKE_SOURCE_DIR}/src/backend/xml/io-example-account.c
${CMAKE_SOURCE_DIR}/src/backend/xml/io-gncxml-gen.c
${CMAKE_SOURCE_DIR}/src/backend/xml/io-gncxml-v2.c
${CMAKE_SOURCE_DIR}/src/backend/xml/io-utils.c
${CMAKE_SOURCE_DIR}/src/backend/xml/gnc-account-xml-v2.c
${CMAKE_SOURCE_DIR}/src/backend/xml/gnc-budget-xml-v2.c
${CMAKE_SOURCE_DIR}/src/backend/xml/gnc-lot-xml-v2.c
${CMAKE_SOURCE_DIR}/src/backend/xml/gnc-recurrence-xml-v2.c
${CMAKE_SOURCE_DIR}/src/backend/xml/gnc-schedxaction-xml-v2.c
${CMAKE_SOURCE_DIR}/src/backend/xml/gnc-freqspec-xml-v2.c
${CMAKE_SOURCE_DIR}/src/backend/xml/gnc-transaction-xml-v2.c
${CMAKE_SOURCE_DIR}/src/backend/xml/gnc-commodity-xml-v2.c
${CMAKE_SOURCE_DIR}/src/backend/xml/gnc-book-xml-v2.c
${CMAKE_SOURCE_DIR}/src/backend/xml/gnc-pricedb-xml-v2.c
)
# The test test-dom-parser1.c is not run by Makefile.am
ADD_XML_TEST(test-date-converting "${test_backend_xml_base_SOURCES};test-date-converting.c")
ADD_XML_TEST(test-dom-converters1 "${test_backend_xml_base_SOURCES};test-dom-converters1.c")
ADD_XML_TEST(test-kvp-frames "${test_backend_xml_base_SOURCES};test-kvp-frames.c")
ADD_XML_TEST(test-load-backend test-load-backend.c)
ADD_XML_TEST(test-load-xml2 test-load-xml2.c
GNC_TEST_FILES=${CMAKE_CURRENT_SOURCE_DIR}/test-files/xml2
)
# Not run in autotools.
#ADD_XML_TEST(test-save-in-lang test-save-in-lang.c
# GNC_TEST_FILES=${CMAKE_CURRENT_SOURCE_DIR}/test-files/xml2
#)
GNC_ADD_TEST_WITH_GUILE(test-load-example-account
"${test_backend_xml_module_SOURCES};test-load-example-account.c"
XML_TEST_INCLUDE_DIRS XML_TEST_LIBS
GNC_ACCOUNT_PATH=${CMAKE_SOURCE_DIR}/accounts/C
)
ADD_XML_TEST(test-string-converters "${test_backend_xml_base_SOURCES};test-string-converters.c")
ADD_XML_TEST(test-xml-account "${test_backend_xml_module_SOURCES};test-xml-account.c;test-file-stuff.c")
ADD_XML_TEST(test-xml-commodity "${test_backend_xml_module_SOURCES};test-xml-commodity.c;test-file-stuff.c")
ADD_XML_TEST(test-xml-pricedb "${test_backend_xml_module_SOURCES};test-xml-pricedb.c;test-file-stuff.c")
ADD_XML_TEST(test-xml-transaction "${test_backend_xml_module_SOURCES};test-xml-transaction.c;test-file-stuff.c")
ADD_XML_TEST(test-xml2-is-file "${test_backend_xml_module_SOURCES};test-xml2-is-file.c"
GNC_TEST_FILES=${CMAKE_CURRENT_SOURCE_DIR}/test-files/xml2)
SET(CMAKE_COMMAND_TMP "")
IF (${CMAKE_VERSION} VERSION_GREATER 3.1)
SET(CMAKE_COMMAND_TMP ${CMAKE_COMMAND} -E env)
ENDIF()
SET(test-real-data-env
SRCDIR=${CMAKE_CURRENT_SOURCE_DIR}
VERBOSE=yes
TEST_PATH=${CMAKE_BINARY_DIR}/bin
)
ADD_TEST(NAME test-real-data
COMMAND ${CMAKE_COMMAND_TMP}
${SHELL} ${CMAKE_CURRENT_SOURCE_DIR}/test-real-data.sh.in
)
SET_TESTS_PROPERTIES(test-real-data PROPERTIES ENVIRONMENT "${test-real-data-env}")

View File

@ -1,5 +1,5 @@
ADD_SUBDIRECTORY(overrides)
ADD_SUBDIRECTORY(test)
# Some settings are platform dependent. Let's define them per platform.
IF (WIN32)
# Windows specific settings go here:

View File

@ -0,0 +1,3 @@
ADD_TEST(NAME test-version
COMMAND ${CMAKE_BINARY_DIR}/bin/gnucash --version)

View File

@ -0,0 +1,64 @@
FUNCTION(GNC_ADD_TEST _TARGET _SOURCE_FILES TEST_INCLUDE_VAR_NAME TEST_LIBS_VAR_NAME)
SET(HAVE_ENV_VARS FALSE)
IF (${ARGC} GREATER 4)
# Extra arguments are treated as environment variables
SET(HAVE_ENV_VARS TRUE)
ENDIF()
SET(TEST_INCLUDE_DIRS ${${TEST_INCLUDE_VAR_NAME}})
SET(TEST_LIBS ${${TEST_LIBS_VAR_NAME}})
SET_SOURCE_FILES_PROPERTIES (${_SOURCE_FILES} PROPERTIES OBJECT_DEPENDS ${CONFIG_H})
ADD_EXECUTABLE(${_TARGET} EXCLUDE_FROM_ALL ${_SOURCE_FILES})
TARGET_LINK_LIBRARIES(${_TARGET} ${TEST_LIBS})
TARGET_INCLUDE_DIRECTORIES(${_TARGET} PRIVATE ${TEST_INCLUDE_DIRS})
IF (${HAVE_ENV_VARS})
SET(CMAKE_COMMAND_TMP "")
IF (${CMAKE_VERSION} VERSION_GREATER 3.1)
SET(CMAKE_COMMAND_TMP ${CMAKE_COMMAND} -E env)
ENDIF()
ADD_TEST(${_TARGET} ${CMAKE_COMMAND_TMP}
${CMAKE_BINARY_DIR}/bin/${_TARGET}
)
SET_TESTS_PROPERTIES(${_TARGET} PROPERTIES ENVIRONMENT "${ARGN}")
ELSE()
ADD_TEST(NAME ${_TARGET} COMMAND ${_TARGET})
ENDIF()
ADD_DEPENDENCIES(check ${_TARGET})
ENDFUNCTION()
FUNCTION(GNC_ADD_TEST_WITH_GUILE _TARGET _SOURCE_FILES TEST_INCLUDE_VAR_NAME TEST_LIBS_VAR_NAME)
SET(_GNC_MODULE_PATH ${CMAKE_BINARY_DIR}/lib:${CMAKE_BINARY_DIR}/lib/gnucash)
GNC_ADD_TEST(${_TARGET} "${_SOURCE_FILES}" "${TEST_INCLUDE_VAR_NAME}" "${TEST_LIBS_VAR_NAME}"
GNC_UNINSTALLED=yes
GNC_BUILDDIR=${CMAKE_BINARY_DIR}
GUILE_WARN_DEPRECATED=no
GNC_MODULE_PATH=${_GNC_MODULE_PATH}
DYLD_LIBRARY_PATH=${_GNC_MODULE_PATH}
LD_LIBRARY_PATH=${_GNC_MODULE_PATH}
GUILE_LOAD_COMPILED_PATH=${CMAKE_BINARY_DIR}/lib/gnucash/scm/ccache/2.0
${ARGN}
)
ENDFUNCTION()
FUNCTION(GNC_ADD_SCHEME_TEST _TARGET _SOURCE_FILE)
SET(CMAKE_COMMAND_TMP "")
IF (${CMAKE_VERSION} VERSION_GREATER 3.1)
SET(CMAKE_COMMAND_TMP ${CMAKE_COMMAND} -E env)
ENDIF()
SET(_GNC_MODULE_PATH ${CMAKE_BINARY_DIR}/lib:${CMAKE_BINARY_DIR}/lib/gnucash)
SET(GUILE_ENV
GNC_UNINSTALLED=yes
GNC_BUILDDIR=${CMAKE_BINARY_DIR}
GUILE_WARN_DEPRECATED=no
GNC_MODULE_PATH=${_GNC_MODULE_PATH}
DYLD_LIBRARY_PATH=${_GNC_MODULE_PATH}
LD_LIBRARY_PATH=${_GNC_MODULE_PATH}
GUILE_LOAD_COMPILED_PATH=${CMAKE_BINARY_DIR}/lib/gnucash/scm/ccache/2.0
${ARGN}
)
ADD_TEST(${_TARGET} ${CMAKE_COMMAND_TMP}
${GUILE_EXECUTABLE} --debug -l ${CMAKE_CURRENT_SOURCE_DIR}/${_SOURCE_FILE} -c "(exit (run-test))"
)
SET_TESTS_PROPERTIES(${_TARGET} PROPERTIES ENVIRONMENT "${GUILE_ENV}")
ENDFUNCTION()

View File

@ -36,6 +36,7 @@
/* Running on OSX, either X11 or Quartz */
#cmakedefine GNC_PLATFORM_OSX 1
#cmakedefine PLATFORM_OSX 1
/* POSIX-compliant OS */
#cmakedefine GNC_PLATFORM_POSIX 1

View File

@ -1,6 +1,6 @@
# CMakeLists.txt for src/core-utils
ADD_SUBDIRECTORY(test)
# Command to generate the swig-engine.c wrapper file
SET (SWIG_CORE_UTILS_C ${CMAKE_CURRENT_BINARY_DIR}/swig-core-utils.c)
GNC_ADD_SWIG_COMMAND (${SWIG_CORE_UTILS_C} ${CMAKE_CURRENT_SOURCE_DIR}/core-utils.i)

View File

@ -0,0 +1,18 @@
SET(CORE_UTILS_TEST_INCLUDE_DIRS
${CMAKE_BINARY_DIR}/src # for config.h
${CMAKE_SOURCE_DIR}/src/core-utils
${CMAKE_SOURCE_DIR}/src/test-core
${CMAKE_SOURCE_DIR}/src/libqof/qof # for qof.h
${GLIB2_INCLUDE_DIRS}
)
SET(CORE_UTILS_TEST_LIBS gnc-core-utils gnc-qof test-core)
MACRO(ADD_CORE_UTILS_TEST _TARGET _SOURCE_FILES)
GNC_ADD_TEST(${_TARGET} "${_SOURCE_FILES}" CORE_UTILS_TEST_INCLUDE_DIRS CORE_UTILS_TEST_LIBS)
ENDMACRO()
ADD_CORE_UTILS_TEST(test-gnc-glib-utils test-gnc-glib-utils.c)
ADD_CORE_UTILS_TEST(test-gnc-uri-utils test-gnc-uri-utils.c)
ADD_CORE_UTILS_TEST(test-resolve-file-path test-resolve-file-path.c)

View File

@ -1,5 +1,8 @@
# CMakeLists.txt for src/engine
ADD_SUBDIRECTORY(test-core)
ADD_SUBDIRECTORY(test)
SET(engine_noinst_HEADERS
AccountP.h
ScrubP.h

View File

@ -0,0 +1,17 @@
SET(libgncmod_test_engine_SOURCES
gncmod-test-engine.c test-engine-stuff.c
)
ADD_LIBRARY(gncmod-test-engine STATIC ${libgncmod_test_engine_SOURCES})
TARGET_INCLUDE_DIRECTORIES(gncmod-test-engine PRIVATE
${GMODULE_INCLUDE_DIRS}
${CMAKE_SOURCE_DIR}/src/gnc-module
${CMAKE_SOURCE_DIR}/src/libqof/qof
${CMAKE_BINARY_DIR}/src # for config.h
${CMAKE_SOURCE_DIR}/src
${CMAKE_SOURCE_DIR}/src/engine
${CMAKE_SOURCE_DIR}/src/test-core
)

View File

@ -0,0 +1,91 @@
# Common stuff
SET(ENGINE_TEST_INCLUDE_DIRS
${CMAKE_SOURCE_DIR}/src/backend/xml
${CMAKE_SOURCE_DIR}/src/engine
${CMAKE_SOURCE_DIR}/src/engine/test-core
${CMAKE_SOURCE_DIR}/src/libqof/qof # for qof.h
${CMAKE_BINARY_DIR}/src # for config.h
${CMAKE_SOURCE_DIR}/src/test-core # for unittest-support.h
${GLIB2_INCLUDE_DIRS}
)
SET(ENGINE_TEST_LIBS gncmod-engine gnc-qof gncmod-test-engine test-core ${LIBXML2_LDFLAGS})
MACRO(ADD_ENGINE_TEST _TARGET _SOURCE_FILES)
GNC_ADD_TEST(${_TARGET} "${_SOURCE_FILES}" ENGINE_TEST_INCLUDE_DIRS ENGINE_TEST_LIBS)
ENDMACRO()
# Not via macro because of unique link requirements
ADD_EXECUTABLE(test-link EXCLUDE_FROM_ALL test-link.c)
TARGET_LINK_LIBRARIES(test-link gnc-qof gnc-core-utils)
ADD_TEST(NAME test-link COMMAND test-link)
ADD_DEPENDENCIES(check test-link)
#################################################
ADD_ENGINE_TEST(test-load-engine test-load-engine.c)
ADD_ENGINE_TEST(test-guid test-guid.c)
ADD_ENGINE_TEST(test-numeric test-numeric.c)
ADD_ENGINE_TEST(test-date test-date.c)
ADD_ENGINE_TEST(test-object test-object.c)
ADD_ENGINE_TEST(test-commodities test-commodities.c)
SET(test_engine_SOURCES
test-engine.c
utest-Account.c
utest-Budget.c
utest-Entry.c
utest-Invoice.c
utest-Split.c
utest-Transaction.c
)
ADD_ENGINE_TEST(test-engine "${test_engine_SOURCES}")
TARGET_COMPILE_OPTIONS(test-engine PRIVATE -Wno-write-strings)
ADD_ENGINE_TEST(test-account-object test-account-object.c)
ADD_ENGINE_TEST(test-group-vs-book test-group-vs-book.c)
ADD_ENGINE_TEST(test-lots test-lots.c)
ADD_ENGINE_TEST(test-querynew test-querynew.c)
ADD_ENGINE_TEST(test-query test-query.c)
ADD_ENGINE_TEST(test-split-vs-account test-split-vs-account.c)
ADD_ENGINE_TEST(test-transaction-reversal test-transaction-reversal.c)
ADD_ENGINE_TEST(test-transaction-voiding test-transaction-voiding.c)
ADD_ENGINE_TEST(test-recurrence test-recurrence.c)
ADD_ENGINE_TEST(test-business test-business.c)
ADD_ENGINE_TEST(test-address test-address.c)
ADD_ENGINE_TEST(test-customer test-customer.c)
ADD_ENGINE_TEST(test-employee test-employee.c)
ADD_ENGINE_TEST(test-job test-job.c)
ADD_ENGINE_TEST(test-vendor test-vendor.c)
############################
# This is a C test that needs GUILE environment variables set.
GNC_ADD_TEST_WITH_GUILE(test-scm-query test-scm-query.c ENGINE_TEST_INCLUDE_DIRS ENGINE_TEST_LIBS)
############################
GNC_ADD_SCHEME_TEST(scm-test-account test-account.scm)
GNC_ADD_SCHEME_TEST(scm-test-create-account test-create-account.scm)
GNC_ADD_SCHEME_TEST(scm-test-test-extra test-test-extras.scm)
GNC_ADD_SCHEME_TEST(scm-test-split test-split.scm)
# This check not run in autotools. Doesn't pass.
#GNC_ADD_SCHEME_TEST(scm-test-scm-query-import test-scm-query-import.scm)
SET(engine_test_SCHEME test-extras.scm)
SET(GUILE_MODULES "")
SET(GUILE_LOAD_DIRS src/app-utils src/scm)
SET(GUILE_LIBRARY_DIRS "")
SET(GUILE_DEPENDS scm-app-utils scm-scm)
GNC_ADD_SCHEME_TARGETS(scm-test-engine
"${engine_test_SCHEME}"
gnucash/engine/test
"${GUILE_MODULES}"
"${GUILE_LOAD_DIRS}"
"${GUILE_LIBRARY_DIRS}"
"${GUILE_DEPENDS}"
FALSE
)

View File

@ -1,4 +1,5 @@
# CMakeLists.txt for src/gnc-module
ADD_SUBDIRECTORY(test)
# Command to generate the swig-engine.c wrapper file
SET (SWIG_GNC_MODULE_C ${CMAKE_CURRENT_BINARY_DIR}/swig-gnc-module.c)

View File

@ -0,0 +1,103 @@
# TESTCOUNTS: { dir: gnc-module/test, test_count: 12 }
ADD_SUBDIRECTORY(mod-foo)
ADD_SUBDIRECTORY(mod-bar)
ADD_SUBDIRECTORY(mod-baz)
ADD_SUBDIRECTORY(misc-mods)
SET(GNC_MODULE_TEST_INCLUDE_DIRS
${CMAKE_BINARY_DIR}/src # for config.h
${CMAKE_SOURCE_DIR}/src/gnc-module
${CMAKE_SOURCE_DIR}/src/test-core
${CMAKE_SOURCE_DIR}/src/libqof/qof # for qof.h
${GLIB2_INCLUDE_DIRS}
${GUILE_INCLUDE_DIRS}
)
SET(GNC_MODULE_TEST_LIBS gnc-module gnc-qof test-core)
MACRO(ADD_GNC_MODULE_TEST _TARGET _SOURCE_FILES)
GNC_ADD_TEST(${_TARGET} "${_SOURCE_FILES}" GNC_MODULE_TEST_INCLUDE_DIRS GNC_MODULE_TEST_LIBS)
ENDMACRO()
SET(_GNC_MODULE_PATH ${CMAKE_BINARY_DIR}/lib:${CMAKE_BINARY_DIR}/lib/gnucash)
SET(GUILE_ENV
GNC_UNINSTALLED=yes
GNC_BUILDDIR=${CMAKE_BINARY_DIR}
GUILE_WARN_DEPRECATED=no
GNC_MODULE_PATH=${_GNC_MODULE_PATH}
DYLD_LIBRARY_PATH=${_GNC_MODULE_PATH}
LD_LIBRARY_PATH=${_GNC_MODULE_PATH}
GUILE_LOAD_COMPILED_PATH=${CMAKE_BINARY_DIR}/lib/gnucash/scm/ccache/2.0
)
FUNCTION(RUN_TEST_WITH_GUILE _TARGET _SOURCE_FILE)
SET(CMAKE_COMMAND_TMP "")
IF (${CMAKE_VERSION} VERSION_GREATER 3.1)
SET(CMAKE_COMMAND_TMP ${CMAKE_COMMAND} -E env)
ENDIF()
ADD_TEST(NAME ${_TARGET}
COMMAND ${CMAKE_COMMAND_TMP}
${GUILE_EXECUTABLE} -s ${_SOURCE_FILE}
)
SET_TESTS_PROPERTIES(${_TARGET} PROPERTIES ENVIRONMENT "${GUILE_ENV};${ARGN}")
ENDFUNCTION()
GNC_ADD_TEST_WITH_GUILE(test-load-c test-load-c.c GNC_MODULE_TEST_INCLUDE_DIRS GNC_MODULE_TEST_LIBS
GUILE_LOAD_PATH=${CMAKE_CURRENT_SOURCE_DIR}/mod-foo
)
RUN_TEST_WITH_GUILE(test-load-scm ${CMAKE_CURRENT_SOURCE_DIR}/test-load-scm.in
GUILE_LOAD_PATH=${CMAKE_CURRENT_SOURCE_DIR}/mod-foo
)
RUN_TEST_WITH_GUILE(test-load-deps ${CMAKE_CURRENT_SOURCE_DIR}/test-load-deps.in
GUILE_LOAD_PATH=${CMAKE_CURRENT_SOURCE_DIR}/mod-foo:${CMAKE_CURRENT_SOURCE_DIR}/mod-baz
)
RUN_TEST_WITH_GUILE(test-scm-init ${CMAKE_CURRENT_SOURCE_DIR}/test-scm-init.in)
RUN_TEST_WITH_GUILE(test-scm-multi ${CMAKE_CURRENT_SOURCE_DIR}/test-scm-multi.in
GUILE_LOAD_PATH=${CMAKE_CURRENT_SOURCE_DIR}/mod-foo:${CMAKE_CURRENT_SOURCE_DIR}/mod-bar
)
RUN_TEST_WITH_GUILE(test-scm-dynload ${CMAKE_CURRENT_SOURCE_DIR}/test-scm-dynload.in)
GNC_ADD_TEST_WITH_GUILE(test-modsysver test-modsysver.c
GNC_MODULE_TEST_INCLUDE_DIRS GNC_MODULE_TEST_LIBS
)
GNC_ADD_TEST_WITH_GUILE(test-incompatdep test-incompatdep.c
GNC_MODULE_TEST_INCLUDE_DIRS GNC_MODULE_TEST_LIBS
)
GNC_ADD_TEST_WITH_GUILE(test-agedver test-agedver.c
GNC_MODULE_TEST_INCLUDE_DIRS GNC_MODULE_TEST_LIBS
)
GNC_ADD_TEST(test-dynload test-dynload.c
GNC_MODULE_TEST_INCLUDE_DIRS GNC_MODULE_TEST_LIBS
LIBDIR=${CMAKE_BINARY_DIR}/lib
)
SET(GUILE ${GUILE_EXECUTABLE})
CONFIGURE_FILE(test-gwrapped-c.in test-gwrapped-c)
CONFIGURE_FILE(test-scm-module.in test-scm-module)
FUNCTION(RUN_GUILE_SHELL_TEST _TARGET _SOURCE_FILE)
SET(CMAKE_COMMAND_TMP "")
IF (${CMAKE_VERSION} VERSION_GREATER 3.1)
SET(CMAKE_COMMAND_TMP ${CMAKE_COMMAND} -E env)
ENDIF()
ADD_TEST(NAME ${_TARGET}
COMMAND ${CMAKE_COMMAND_TMP}
${SHELL} ${_SOURCE_FILE}
)
SET_TESTS_PROPERTIES(${_TARGET} PROPERTIES ENVIRONMENT "${GUILE_ENV};${ARGN}")
ENDFUNCTION()
RUN_GUILE_SHELL_TEST(test-gwrapped-c ${CMAKE_CURRENT_BINARY_DIR}/test-gwrapped-c
GUILE_LOAD_PATH=${CMAKE_CURRENT_SOURCE_DIR}/mod-foo
)
RUN_GUILE_SHELL_TEST(test-scm-module ${CMAKE_CURRENT_BINARY_DIR}/test-scm-module
GUILE_LOAD_PATH=${CMAKE_CURRENT_SOURCE_DIR}/mod-foo
)

View File

@ -0,0 +1,14 @@
INCLUDE_DIRECTORIES(
${CMAKE_SOURCE_DIR}/src/gnc-module
${GLIB2_INCLUDE_DIRS}
)
ADD_LIBRARY(gncmod_agedver EXCLUDE_FROM_ALL agedver.c)
TARGET_LINK_LIBRARIES(gncmod_agedver ${GLIB2_LDFLAGS})
ADD_LIBRARY(gncmod_futuremodsys EXCLUDE_FROM_ALL futuremodsys.c)
TARGET_LINK_LIBRARIES(gncmod_futuremodsys ${GLIB2_LDFLAGS})
ADD_LIBRARY(gncmod_incompatdep EXCLUDE_FROM_ALL incompatdep.c)
TARGET_LINK_LIBRARIES(gncmod_incompatdep gnc-module ${GLIB2_LDFLAGS})

View File

@ -0,0 +1,18 @@
SET (SWIG_BAR_C ${CMAKE_CURRENT_BINARY_DIR}/swig-bar.c)
GNC_ADD_SWIG_COMMAND (${SWIG_BAR_C} ${CMAKE_CURRENT_SOURCE_DIR}/bar.i bar.h)
ADD_LIBRARY(bar EXCLUDE_FROM_ALL bar.c bar.h)
ADD_LIBRARY(gncmodbar EXCLUDE_FROM_ALL gnc-mod-bar.c)
SET_SOURCE_FILES_PROPERTIES (gnc-mod-bar.c PROPERTY OBJECT_DEPENDS ${SWIG_BAR_C})
TARGET_LINK_LIBRARIES(gncmodbar bar gnc-module)
TARGET_INCLUDE_DIRECTORIES(gncmodbar PRIVATE
${CMAKE_BINARY_DIR}/src
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_SOURCE_DIR}/src/gnc-module
${GLIB2_INCLUDE_DIRS}
${GUILE_INCLUDE_DIRS}
)

View File

@ -0,0 +1,24 @@
SET (SWIG_BAZ_C ${CMAKE_CURRENT_BINARY_DIR}/swig-baz.c)
GNC_ADD_SWIG_COMMAND (${SWIG_BAZ_C} ${CMAKE_CURRENT_SOURCE_DIR}/baz.i baz.h)
ADD_LIBRARY(baz EXCLUDE_FROM_ALL baz.c baz.h)
TARGET_INCLUDE_DIRECTORIES(baz PRIVATE
${CMAKE_SOURCE_DIR}/src/gnc-module/test/mod-foo
)
TARGET_LINK_LIBRARIES(baz foo)
ADD_LIBRARY(gncmodbaz EXCLUDE_FROM_ALL gnc-mod-baz.c)
SET_SOURCE_FILES_PROPERTIES (gnc-mod-baz.c PROPERTY OBJECT_DEPENDS ${SWIG_BAZ_C})
TARGET_LINK_LIBRARIES(gncmodbaz baz gnc-module)
TARGET_INCLUDE_DIRECTORIES(gncmodbaz PRIVATE
${CMAKE_BINARY_DIR}/src
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_SOURCE_DIR}/src/gnc-module
${GLIB2_INCLUDE_DIRS}
${GUILE_INCLUDE_DIRS}
)

View File

@ -0,0 +1,18 @@
SET (SWIG_FOO_C ${CMAKE_CURRENT_BINARY_DIR}/swig-foo.c)
GNC_ADD_SWIG_COMMAND (${SWIG_FOO_C} ${CMAKE_CURRENT_SOURCE_DIR}/foo.i foo.h)
ADD_LIBRARY(foo EXCLUDE_FROM_ALL foo.c foo.h)
ADD_LIBRARY(gncmodfoo EXCLUDE_FROM_ALL gnc-mod-foo.c)
SET_SOURCE_FILES_PROPERTIES (gnc-mod-foo.c PROPERTY OBJECT_DEPENDS ${SWIG_FOO_C})
TARGET_LINK_LIBRARIES(gncmodfoo foo gnc-module)
TARGET_INCLUDE_DIRECTORIES(gncmodfoo PRIVATE
${CMAKE_BINARY_DIR}/src
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_SOURCE_DIR}/src/gnc-module
${GLIB2_INCLUDE_DIRS}
${GUILE_INCLUDE_DIRS}
)

View File

@ -3,6 +3,7 @@
ADD_SUBDIRECTORY(gschemas)
ADD_SUBDIRECTORY(gtkbuilder)
ADD_SUBDIRECTORY(ui)
ADD_SUBDIRECTORY(test)
SET (SWIG_GNOME_UTILS_C ${CMAKE_CURRENT_BINARY_DIR}/swig-gnome-utils.c)
GNC_ADD_SWIG_COMMAND (${SWIG_GNOME_UTILS_C} ${CMAKE_CURRENT_SOURCE_DIR}/gnome-utils.i)

View File

@ -0,0 +1,32 @@
SET(GNOME_UTILS_TEST_INCLUDE_DIRS
${CMAKE_SOURCE_DIR}/src/gnc-module
${GLIB2_INCLUDE_DIRS}
${GUILE_INCLUDE_DIRS}
)
SET(GNOME_UTILS_TEST_LIBS gnc-module test-core)
GNC_ADD_TEST_WITH_GUILE(test-link-module-gnome-utils test-link-module.c
GNOME_UTILS_TEST_INCLUDE_DIRS GNOME_UTILS_TEST_LIBS
)
SET(GNOME_UTILS_GUI_TEST_INCLUDE_DIRS
${GNOME_UTILS_TEST_INCLUDE_DIRS}
${CMAKE_BINARY_DIR}/src
${CMAKE_SOURCE_DIR}/src/gnome-utils
${CMAKE_SOURCE_DIR}/src/engine
${CMAKE_SOURCE_DIR}/src/libqof/qof # for qof.h
${GTK2_INCLUDE_DIRS}
)
SET(GNOME_UTILS_GUI_TEST_LIBS
${GNOME_UTILS_TEST_LIBS}
gncmod-gnome-utils
)
#This is a GUI test
#GNC_ADD_TEST(test-gnc-recurrence test-gnc-recurrence.c
# GNOME_UTILS_GUI_TEST_INCLUDE_DIRS
# GNOME_UTILS_GUI_TEST_LIBS
#
GNC_ADD_SCHEME_TEST(test-load-module-gnome-utils test-load-module.in)

View File

@ -1,5 +1,7 @@
# CMakeLists.txt for src/import-export
ADD_SUBDIRECTORY(test)
# ############################################################
IF (WITH_AQBANKING)
ADD_SUBDIRECTORY(aqb)

View File

@ -1,4 +1,5 @@
ADD_SUBDIRECTORY(gschemas)
ADD_SUBDIRECTORY(test)
SET(csv_import_SOURCES
gncmod-csv-import.c

View File

@ -0,0 +1,22 @@
SET(CSV_IMP_TEST_INCLUDE_DIRS
${CMAKE_BINARY_DIR}/src # for config.h
${CMAKE_SOURCE_DIR}/src
${CMAKE_SOURCE_DIR}/src/engine
${CMAKE_SOURCE_DIR}/src/test-core
${CMAKE_SOURCE_DIR}/src/libqof/qof
${CMAKE_SOURCE_DIR}/lib
${GLIB2_INCLUDE_DIRS}
)
SET(CSV_IMP_TEST_LIBS gncmod-csv-import gncmod-engine gnc-qof test-core)
SET(test_csv_imp_SOURCES
test-csv-imp.c
utest-gnc-csv-model.c
)
GNC_ADD_TEST(test-csv-imp "${test_csv_imp_SOURCES}"
CSV_IMP_TEST_INCLUDE_DIRS CSV_IMP_TEST_LIBS
SRCDIR=${CMAKE_CURRENT_SOURCE_DIR}
)

View File

@ -1,4 +1,5 @@
ADD_SUBDIRECTORY(gschemas)
ADD_SUBDIRECTORY(test)
SET(ofx_SOURCES
gnc-ofx-import.c

View File

@ -0,0 +1,8 @@
SET(OFX_TEST_INCLUDE_DIRS
${LIBOFX_INCLUDE_DIRS}
)
SET(OFX_TEST_LIBS)
GNC_ADD_TEST(test-link-ofx test-link.c OFX_TEST_INCLUDE_DIRS OFX_TEST_LIBS)

View File

@ -1,6 +1,7 @@
# CMakeLists.txt for src/import_export/qif-imp
ADD_SUBDIRECTORY(gschemas)
ADD_SUBDIRECTORY(test)
SET (qif_import_SOURCES
dialog-account-picker.c

View File

@ -0,0 +1,6 @@
SET(QIF_IMP_TEST_INCLUDE_DIRS)
SET(QIF_IMP_TEST_LIBS)
GNC_ADD_TEST(test-link-qif-imp test-link.c QIF_IMP_TEST_INCLUDE_DIRS QIF_IMP_TEST_LIBS)

View File

@ -1,4 +1,7 @@
#Tests for this directory are not run.
#ADD_SUBDIRECTORY(test)
SET(qif_SOURCES
qif-context.c
qif-defaults.c

View File

@ -0,0 +1,13 @@
SET(QIF_TEST_INCLUDE_DIRS
${CMAKE_BINARY_DIR}/src
${CMAKE_SOURCE_DIR}/src/import-export/qif
${CMAKE_SOURCE_DIR}/src/libqof/qof
${CMAKE_SOURCE_DIR}/src/test-core
${GLIB2_INCLUDE_DIRS}
)
SET(QIF_TEST_LIBS gncmod-qif test-core)
GNC_ADD_TEST(test-link-qif test-link.c QIF_TEST_INCLUDE_DIRS QIF_TEST_LIBS)
GNC_ADD_TEST(test-qif test-qif.c QIF_TEST_INCLUDE_DIRS QIF_TEST_LIBS
GNC_TEST_FILES=${CMAKE_CURRENT_SOURCE_DIR}/test-files)

View File

@ -0,0 +1,19 @@
SET(GENERIC_IMPORT_TEST_INCLUDE_DIRS
${CMAKE_BINARY_DIR}/src # for config.h
${CMAKE_SOURCE_DIR}/src/gnc-module
${CMAKE_SOURCE_DIR}/src/import-export
${CMAKE_SOURCE_DIR}/src/libqof/qof
${CMAKE_SOURCE_DIR}/src/test-core
${GLIB2_INCLUDE_DIRS}
${GUILE_INCLUDE_DIRS}
)
SET(GENERIC_IMPORT_TEST_LIBS gncmod-generic-import gnc-qof test-core)
GNC_ADD_TEST_WITH_GUILE(test-import-parse test-import-parse.c
GENERIC_IMPORT_TEST_INCLUDE_DIRS GENERIC_IMPORT_TEST_LIBS
)
GNC_ADD_TEST(test-link-generic-import test-link.c
GENERIC_IMPORT_TEST_INCLUDE_DIRS GENERIC_IMPORT_TEST_LIBS
)

View File

@ -1,5 +1,7 @@
# CMakeLists.txt for src/libqof
ADD_SUBDIRECTORY(qof/test)
SET (gnc_qof_HEADERS
qof/gnc-date-p.h

View File

@ -0,0 +1,26 @@
SET(TEST_QOF_INCLUDE_DIRS
${CMAKE_BINARY_DIR}/src # for config.h
${CMAKE_SOURCE_DIR}/src/test-core # for unittest-support.h
${CMAKE_SOURCE_DIR}/src/libqof/qof # for qof.h
${GLIB2_INCLUDE_DIRS}
)
SET(TEST_QOF_LIBS
gnc-qof test-core ${GLIB2_LDFLAGS} -lm
)
SET(test_qof_SOURCES
test-gnc-date.c
test-qof.c
test-qofbook.c
test-qofinstance.c
test-kvp_frame.c
test-qofobject.c
test-qofsession.c
test-qof-string-cache.c
${CMAKE_SOURCE_DIR}/src/test-core/unittest-support.c
)
GNC_ADD_TEST(test-qof "${test_qof_SOURCES}" TEST_QOF_INCLUDE_DIRS TEST_QOF_LIBS)
TARGET_COMPILE_DEFINITIONS(test-qof PRIVATE TESTPROG=test_qof)

View File

@ -1,4 +1,5 @@
ADD_SUBDIRECTORY(test)
SET (ledger_core_SOURCES
gnc-ledger-display.c

View File

@ -0,0 +1,7 @@
SET(LEDGER_CORE_TEST_INCLUDE_DIRS "")
SET(LEDGER_CORE_TEST_LIBS)
GNC_ADD_TEST(test-link-module-ledger-core test-link-module.c
LEDGER_CORE_TEST_INCLUDE_DIRS LEDGER_CORE_TEST_LIBS
)

View File

@ -1,4 +1,4 @@
ADD_SUBDIRECTORY(test)
SET (register_core_SOURCES
gncmod-register-core.c

View File

@ -0,0 +1,7 @@
SET(REGISTER_CORE_TEST_INCLUDE_DIRS "")
SET(REGISTER_CORE_TEST_LIBS)
GNC_ADD_TEST(test-link-module-register-core test-link-module.c
REGISTER_CORE_TEST_INCLUDE_DIRS REGISTER_CORE_TEST_LIBS
)

View File

@ -1,3 +1,4 @@
ADD_SUBDIRECTORY(test)
SET (register_gnome_SOURCES
gncmod-register-gnome.c

View File

@ -0,0 +1,7 @@
SET(REGISTER_GNOME_TEST_INCLUDE_DIRS "")
SET(REGISTER_GNOME_TEST_LIBS)
GNC_ADD_TEST(test-link-module-register-gnome test-link-module.c
REGISTER_GNOME_TEST_INCLUDE_DIRS REGISTER_GNOME_TEST_LIBS
)

View File

@ -1,4 +1,4 @@
ADD_SUBDIRECTORY(test)
SET(locale_reports_us_SOURCES
gncmod-locale-reports-us.c

View File

@ -0,0 +1,11 @@
SET(LOCALE_SPECIFIC_US_TEST_INCLUDE_DIRS "")
SET(LOCALE_SPECIFIC_US_TEST_LIBS)
GNC_ADD_TEST(test-link-module-report-locale-specific-us test-link-module.c
LOCALE_SPECIFIC_US_TEST_INCLUDE_DIRS LOCALE_SPECIFIC_US_TEST_LIBS
)
# This test not run in the autotools build.
#GNC_ADD_SCHEME_TEST(test-load-module-report-locale-specific-us
# test-load-module.in
#)

View File

@ -1,4 +1,4 @@
ADD_SUBDIRECTORY(test)
SET (report_gnome_HEADERS
dialog-report-column-view.h

View File

@ -0,0 +1,14 @@
SET(REPORT_GNOME_TEST_INCLUDE_DIRS
${CMAKE_SOURCE_DIR}/src/gnc-module
${GUILE_INCLUDE_DIRS}
)
SET(REPORT_GNOME_TEST_LIBS gnc-module)
GNC_ADD_TEST_WITH_GUILE(test-link-module-report-gnome test-link-module.c
REPORT_GNOME_TEST_INCLUDE_DIRS REPORT_GNOME_TEST_LIBS
)
GNC_ADD_SCHEME_TEST(test-load-module-report-gnome
test-load-module.in
)

View File

@ -1,3 +1,4 @@
ADD_SUBDIRECTORY(test)
SET (report_system_HEADERS
gnc-report.h

View File

@ -0,0 +1,26 @@
SET(REPORT_SYSTEM_TEST_INCLUDE_DIRS
${CMAKE_SOURCE_DIR}/src/gnc-module
${GUILE_INCLUDE_DIRS}
)
SET(REPORT_SYSTEM_TEST_LIBS gnc-module)
GNC_ADD_TEST_WITH_GUILE(test-link-module-report-system test-link-module.c
REPORT_SYSTEM_TEST_INCLUDE_DIRS REPORT_SYSTEM_TEST_LIBS
)
GNC_ADD_SCHEME_TEST(test-load-module-report-system test-load-module.in)
GNC_ADD_SCHEME_TEST(test-collectors test-collectors.scm)
GNC_ADD_SCHEME_TEST(test-list-extras test-list-extras.scm)
GNC_ADD_SCHEME_TEST(test-report-utilities test-report-utilities.scm)
# This test is not run in the autotools build.
#GNC_ADD_SCHEME_TEST(test-test-extras test-test-extras.scm)
GNC_ADD_SCHEME_TARGETS(scm-test-report-system
test-extras.scm
gnucash/report/report-system/test
""
""
""
"scm-gnc-module;scm-test-engine;scm-report-system-3"
FALSE
)

View File

@ -1,4 +1,6 @@
ADD_SUBDIRECTORY(test)
SET(standard_reports_SOURCES gncmod-standard-reports.c)
ADD_LIBRARY (gncmod-standard-reports ${standard_reports_SOURCES})

View File

@ -0,0 +1,22 @@
GNC_ADD_SCHEME_TEST(test-cash-flow test-cash-flow.scm)
GNC_ADD_SCHEME_TEST(test-standard-category-report test-standard-category-report.scm)
GNC_ADD_SCHEME_TEST(test-standard-net-barchart test-standard-net-barchart.scm)
GNC_ADD_SCHEME_TEST(test-standard-net-linechart test-standard-net-linechart.scm)
GNC_ADD_SCHEME_TEST(test-load-module-report-standard-reports test-load-module.in)
SET(scm_test_standard_reports_SOURCES
test-generic-category-report.scm
test-generic-net-barchart.scm
test-generic-net-linechart.scm
)
GNC_ADD_SCHEME_TARGETS(scm-test-standard-reports
"${scm_test_standard_reports_SOURCES}"
gnucash/report/standard-reports/test
""
""
""
"scm-gnc-module;scm-test-report-system"
FALSE
)

View File

@ -1,3 +1,4 @@
ADD_SUBDIRECTORY(test)
SET(stylesheets_SOURCES
gnc-plugin-stylesheets.c

View File

@ -0,0 +1,4 @@
GNC_ADD_SCHEME_TEST(test-load-module-report-stylesheets
test-load-module.in
)

View File

@ -1,4 +1,4 @@
ADD_SUBDIRECTORY(test)
SET(utility_reports_SOURCES
gncmod-utility-reports.c

View File

@ -0,0 +1,4 @@
GNC_ADD_SCHEME_TEST(test-load-module-report-utility-reports
test-load-module.in
)

View File

@ -1,3 +1,5 @@
ADD_SUBDIRECTORY(test)
SET(tax_us_SOURCES gncmod-tax-us.c)
# Add dependency on config.h

View File

@ -0,0 +1,9 @@
SET(TAX_US_TEST_INCLUDE_DIRS "")
SET(TAX_US_TEST_LIBS "")
GNC_ADD_TEST(test-link-module-tax-us test-link-module.c
TAX_US_TEST_INCLUDE_DIRS TAX_US_TEST_LIBS
)
# This test not run in autotools build.
#GNC_ADD_SCHEME_TEST(test-load-module-tax-us test-load-module.in)

View File

@ -19,8 +19,11 @@ INCLUDE_DIRECTORIES(
${GUILE_INCLUDE_DIRS}
)
ADD_LIBRARY(test-core ${test_core_SOURCES} ${test_core_noinst_HEADERS})
TARGET_LINK_LIBRARIES(test-core gnc-qof ${GLIB2_LDFLAGS})
ADD_LIBRARY(test-core STATIC ${test_core_SOURCES} ${test_core_noinst_HEADERS})
TARGET_LINK_LIBRARIES(test-core gncmod-engine gnc-qof ${GLIB2_LDFLAGS})
IF (UNIX)
TARGET_COMPILE_OPTIONS(test-core PRIVATE -fPIC)
ENDIF()
SET (SWIG_UNITTEST_SUPPORT_GUILE_C ${CMAKE_CURRENT_BINARY_DIR}/swig-unittest-support-guile.c)
GNC_ADD_SWIG_COMMAND (${SWIG_UNITTEST_SUPPORT_GUILE_C}
@ -41,7 +44,7 @@ SET(GUILE_LIBRARY_DIRS src/test-core src/libqof)
SET(GUILE_DEPENDS test-core-guile)
GNC_ADD_SCHEME_TARGETS(scm_test_core
GNC_ADD_SCHEME_TARGETS(scm-test-core
${test_core_SCHEME}
${GUILE_OUTPUT_DIR}
"${GUILE_MODULES}"
@ -51,4 +54,4 @@ GNC_ADD_SCHEME_TARGETS(scm_test_core
FALSE
)
INSTALL(FILES unittest-support.h DESTINATION libexec/gnucash/src/libqof/qof/test)
INSTALL(FILES unittest-support.h DESTINATION libexec/gnucash/src/libqof/qof/test)