gnucash master: Multiple changes pushed
John Ralls
jralls at code.gnucash.org
Fri Jul 1 18:08:39 EDT 2016
Updated via https://github.com/Gnucash/gnucash/commit/cf735d73 (commit)
via https://github.com/Gnucash/gnucash/commit/5547337e (commit)
from https://github.com/Gnucash/gnucash/commit/4be44045 (commit)
commit cf735d730446a0594bb46229a01581e4ef423a22
Author: John Ralls <jralls at ceridwen.us>
Date: Fri Jul 1 15:02:33 2016 -0700
GCC-4.9 doesn't have the C++14 initializer list fix.
diff --git a/src/libqof/qof/test/test-gnc-guid.cpp b/src/libqof/qof/test/test-gnc-guid.cpp
index b4bcf35..a8e0505 100644
--- a/src/libqof/qof/test/test-gnc-guid.cpp
+++ b/src/libqof/qof/test/test-gnc-guid.cpp
@@ -59,14 +59,14 @@ TEST (GncGUID, move)
TEST (GncGUID, to_string)
{
std::string fixture (32, '0');
- auto str {GncGUID::null_guid ().to_string ()};
+ auto str = GncGUID::null_guid ().to_string ();
EXPECT_EQ (str, fixture);
}
TEST (GncGUID, from_string)
{
std::string fixture (32, '0');
- auto guid {GncGUID::from_string (fixture)};
+ auto guid = GncGUID::from_string (fixture);
EXPECT_EQ (guid, GncGUID::null_guid ());
guid = GncGUID::create_random ();
commit 5547337e05d152dcdabe85cf558ce150782184a7
Author: John Ralls <jralls at ceridwen.us>
Date: Fri Jul 1 13:26:17 2016 -0700
Enable Google Tests under CMake.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3010147..0664d9f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -418,6 +418,8 @@ IF (GNC_BUILD_AS_INSTALL)
ENDIF()
# ############################################################
+GNC_GTEST_CONFIGURE()
+
SET(CMAKE_CTEST_COMMAND ctest)
IF (XCODE_VERSION)
SET(CMAKE_CTEST_COMMAND ctest -C Debug)
diff --git a/src/cmake_modules/GncAddTest.cmake b/src/cmake_modules/GncAddTest.cmake
index 9692c5e..63adc3c 100644
--- a/src/cmake_modules/GncAddTest.cmake
+++ b/src/cmake_modules/GncAddTest.cmake
@@ -83,3 +83,36 @@ FUNCTION(GNC_ADD_SCHEME_TEST _TARGET _SOURCE_FILE)
GET_GUILE_ENV()
SET_TESTS_PROPERTIES(${_TARGET} PROPERTIES ENVIRONMENT "${GUILE_ENV};${ARGN}")
ENDFUNCTION()
+
+FUNCTION(GNC_GTEST_CONFIGURE)
+ MESSAGE(STATUS "Maybe setting up GTEST with " ${GTEST_DISABLE})
+ IF (NOT GTEST_DISABLE)
+ FIND_PATH(GTEST_INCLUDE_DIR gtest/gtest.h
+ PATHS /usr/include ${GMOCK_ROOT}/gtest/include ${GTEST_ROOT}/include)
+ FIND_PATH(GTEST_SRC_DIR src/gtest-all.cc
+ PATHS /usr/src/gtest ${GMOCK_ROOT}/gtest ${GTEST_ROOT})
+ FIND_PATH(GMOCK_INCLUDE_DIR gmock/gmock.h
+ PATHS /usr/include ${GMOCK_ROOT}/include)
+ FIND_PATH(GMOCK_SRC_DIR src/gmock-all.cc
+ PATHS /usr/src/gmock ${GMOCK_ROOT})
+ FIND_LIBRARY(GTEST_SHARED_LIB gtest)
+ FIND_LIBRARY(GTEST_MAIN_LIB gtest_main)
+ IF ((GTEST_SHARED_LIB OR GTEST_SRC_DIR) AND GTEST_INCLUDE_DIR)
+ SET(THREADS_PREFER_PTHREAD_FLAG ON)
+ FIND_PACKAGE(Threads REQUIRED)
+ SET(GTEST_FOUND YES CACHE INTERNAL "Found GTest")
+ IF(GTEST_SHARED_LIB)
+ SET(GTEST_LIB "${GTEST_SHARED_LIB};${GTEST_MAIN_LIB}" PARENT_SCOPE)
+ UNSET(GTEST_SRC_DIR CACHE)
+ ELSE()
+ SET(GTEST_SRC "${GTEST_SRC_DIR}/src/gtest_main.cc" PARENT_SCOPE)
+ SET(GTEST_LIB "${CMAKE_BINARY_DIR}/src/test-core/libgtest.a" PARENT_SCOPE)
+ ENDIF()
+ if (GMOCK_INCLUDE_DIR AND GMOCK_SRC_DIR)
+ SET(GMOCK_FOUND YES PARENT_SCOPE)
+ SET(GMOCK_SRC "${GMOCK_SRC_DIR}/src/gmock_main.cc" PARENT_SCOPE)
+ SET(GMOCK_LIB "${CMAKE_BINARY_DIR}/src/test-core/libgmock.a" PARENT_SCOPE)
+ ENDIF()
+ ENDIF()
+ ENDIF()
+ENDFUNCTION()
diff --git a/src/libqof/qof/test/CMakeLists.txt b/src/libqof/qof/test/CMakeLists.txt
index a16a4bb..96d4ab5 100644
--- a/src/libqof/qof/test/CMakeLists.txt
+++ b/src/libqof/qof/test/CMakeLists.txt
@@ -14,11 +14,8 @@ SET(test_qof_SOURCES
test-qof.c
test-qofbook.c
test-qofinstance.cpp
-# test-kvp-frame.cpp This now use Google Test
test-qofobject.c
- test-qofsession.cpp
test-qof-string-cache.c
- test-gnc-guid.cpp
${CMAKE_SOURCE_DIR}/src/test-core/unittest-support.c
)
@@ -28,4 +25,56 @@ SET(test_qof_SOURCES
IF (NOT WIN32)
GNC_ADD_TEST(test-qof "${test_qof_SOURCES}" TEST_QOF_INCLUDE_DIRS TEST_QOF_LIBS)
TARGET_COMPILE_DEFINITIONS(test-qof PRIVATE TESTPROG=test_qof)
+ IF(GTEST_FOUND)
+ SET(MODULEPATH ${CMAKE_SOURCE_DIR}/src/libqof/qof)
+ SET(gtest_qof_LIBS gnc-qof ${GLIB2_LDFLAGS} ${Boost_LIBRARIES} ${GTEST_LIB})
+ SET(gtest_qof_INCLUDES
+ ${MODULEPATH}
+ ${GLIB2_INCLUDE_DIRS}
+ ${GTEST_INCLUDE_DIR})
+
+ SET(test_gnc_guid_SOURCES
+ ${MODULEPATH}/guid.cpp
+ test-gnc-guid.cpp
+ ${GTEST_SRC})
+ GNC_ADD_TEST(test-gnc-guid "${test_gnc_guid_SOURCES}"
+ gtest_qof_INCLUDES gtest_qof_LIBS)
+
+ SET(test_kvp_value_SOURCES
+ ${MODULEPATH}/kvp-value.cpp
+ test-kvp-value.cpp
+ test-kvp-frame.cpp
+ ${GTEST_SRC})
+ GNC_ADD_TEST(test-kvp-value "${test_kvp_value_SOURCES}"
+ gtest_qof_INCLUDES gtest_qof_LIBS)
+
+ SET(test_qofsession_SOURCES
+ ${MODULEPATH}/qofsession.cpp
+ test-qofsession.cpp
+ ${GTEST_SRC})
+ GNC_ADD_TEST(test-qofsession "${test_qofsession_SOURCES}"
+ gtest_qof_INCLUDES gtest_qof_LIBS)
+
+ SET(test_gnc_int128_SOURCES
+ ${MODULEPATH}/gnc-int128.cpp
+ gtest-gnc-int128.cpp
+ ${GTEST_SRC})
+ GNC_ADD_TEST(test-gnc-int128 "${test_gnc_int128_SOURCES}"
+ gtest_qof_INCLUDES gtest_qof_LIBS)
+
+ SET(test_gnc_timezone_SOURCES
+ ${MODULEPATH}/gnc-timezone.cpp
+ gtest-gnc-timezone.cpp
+ ${GTEST_SRC})
+ GNC_ADD_TEST(test-gnc-timezone "${test_gnc_timezone_SOURCES}"
+ gtest_qof_INCLUDES gtest_qof_LIBS)
+
+ SET(test_gnc_datetime_SOURCES
+ ${MODULEPATH}/gnc-datetime.cpp
+ gtest-gnc-datetime.cpp
+ ${GTEST_SRC})
+ GNC_ADD_TEST(test-gnc-datetime "${test_gnc_datetime_SOURCES}"
+ gtest_qof_INCLUDES gtest_qof_LIBS)
+
+ ENDIF()
ENDIF()
diff --git a/src/libqof/qof/test/test-qof.c b/src/libqof/qof/test/test-qof.c
index cd7ce43..2c11236 100644
--- a/src/libqof/qof/test/test-qof.c
+++ b/src/libqof/qof/test/test-qof.c
@@ -28,10 +28,8 @@
extern void test_suite_qofbook();
extern void test_suite_qofinstance();
extern void test_suite_qofobject();
-extern void test_suite_qofsession();
extern void test_suite_gnc_date();
extern void test_suite_qof_string_cache();
-extern void test_suite_gnc_guid ( void );
int
main (int argc,
@@ -43,11 +41,9 @@ main (int argc,
// g_log_set_always_fatal (0);
g_test_bug_base("https://bugzilla.gnome.org/show_bug.cgi?id="); /* init the bugzilla URL */
- test_suite_gnc_guid();
test_suite_qofbook();
test_suite_qofinstance();
test_suite_qofobject();
- test_suite_qofsession();
test_suite_gnc_date();
test_suite_qof_string_cache();
diff --git a/src/test-core/CMakeLists.txt b/src/test-core/CMakeLists.txt
index d6aca03..275b836 100644
--- a/src/test-core/CMakeLists.txt
+++ b/src/test-core/CMakeLists.txt
@@ -51,6 +51,20 @@ GNC_ADD_SCHEME_TARGETS(scm-test-core
"${GUILE_LIBRARY_DIRS}"
"${GUILE_DEPENDS}"
FALSE
-)
+ )
+IF(GTEST_FOUND)
+ IF(NOT GTEST_SHARED_LIB)
+ SET (lib_gtest_SOURCES ${GTEST_SRC_DIR}/src/gtest-all.cc)
+ ADD_LIBRARY(gtest STATIC ${lib_gtest_SOURCES})
+ TARGET_INCLUDE_DIRECTORIES(gtest PUBLIC ${GTEST_INCLUDE_DIR} ${GTEST_SRC_DIR})
+ ENDIF()
+ IF(GMOCK_FOUND)
+ SET (lib_gmock_SOURCES ${GMOCK_SRC_DIR}/src/gmock-all.cc)
+ ADD_LIBRARY(gmock STATIC ${lib_gmock_SOURCES})
+ TARGET_INCLUDE_DIRECTORIES(gmock PUBLIC
+ ${GTEST_INCLUDE_DIR} ${GTEST_SRC_DIR}
+ ${GMOCK_INCLUDE_DIR} ${GMOCK_SRC_DIR})
+ ENDIF()
+ENDIF()
INSTALL(FILES unittest-support.h DESTINATION libexec/gnucash/src/libqof/qof/test)
Summary of changes:
CMakeLists.txt | 2 ++
src/cmake_modules/GncAddTest.cmake | 33 +++++++++++++++++++++
src/libqof/qof/test/CMakeLists.txt | 55 +++++++++++++++++++++++++++++++++--
src/libqof/qof/test/test-gnc-guid.cpp | 4 +--
src/libqof/qof/test/test-qof.c | 4 ---
src/test-core/CMakeLists.txt | 16 +++++++++-
6 files changed, 104 insertions(+), 10 deletions(-)
More information about the gnucash-changes
mailing list