diff options
author | Andreas Schuh <andreas.schuh.84@gmail.com> | 2014-03-17 21:15:52 +0000 |
---|---|---|
committer | Andreas Schuh <andreas.schuh.84@gmail.com> | 2014-03-17 21:15:52 +0000 |
commit | 0d9486f9a3a4f0cb87666ad4c5a0a211ff948d63 (patch) | |
tree | cb977adc1bfb06876cfeaa800a6184f4b9e5d2ab | |
parent | 505686bd7aa0a5d6c2dc13b690a17f342bcf1c62 (diff) | |
download | gflags-0d9486f9a3a4f0cb87666ad4c5a0a211ff948d63.tar.gz gflags-0d9486f9a3a4f0cb87666ad4c5a0a211ff948d63.tar.bz2 gflags-0d9486f9a3a4f0cb87666ad4c5a0a211ff948d63.zip |
Pass --test_tmpdir and --srcdir to unittests.
-rw-r--r-- | cmake/utils.cmake | 6 | ||||
-rw-r--r-- | test/CMakeLists.txt | 9 | ||||
-rw-r--r-- | test/gflags_unittest.cc | 10 |
3 files changed, 11 insertions, 14 deletions
diff --git a/cmake/utils.cmake b/cmake/utils.cmake index 0ec17ca..111cd3d 100644 --- a/cmake/utils.cmake +++ b/cmake/utils.cmake @@ -70,13 +70,15 @@ endfunction () # expected exit status. Moreover, the execute_test.cmake script # sets environment variables needed by the --fromenv/--tryfromenv tests. macro (add_gflags_test name expected_rc expected_output unexpected_output cmd) + set (args "--test_tmpdir=${PROJECT_BINARY_DIR}/Testing/Temporary" + "--srcdir=${PROJECT_SOURCE_DIR}/test") add_test ( NAME ${name} - COMMAND "${CMAKE_COMMAND}" "-DCOMMAND:STRING=$<TARGET_FILE:${cmd}>;${ARGN}" + COMMAND "${CMAKE_COMMAND}" "-DCOMMAND:STRING=$<TARGET_FILE:${cmd}>;${args};${ARGN}" "-DEXPECTED_RC:STRING=${expected_rc}" "-DEXPECTED_OUTPUT:STRING=${expected_output}" "-DUNEXPECTED_OUTPUT:STRING=${unexpected_output}" -P "${PROJECT_SOURCE_DIR}/cmake/execute_test.cmake" - WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/test" + WORKING_DIRECTORY "${GFLAGS_FLAGFILES_DIR}" ) endmacro () diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 73099be..822ab32 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -6,7 +6,8 @@ set (CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/Testing/bin") set (CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/Testing/lib") set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/Testing/lib") -set (TEMPDIR "${PROJECT_BINARY_DIR}/Testing/Temporary") +# set working directory of test commands +set (GFLAGS_FLAGFILES_DIR "${CMAKE_CURRENT_SOURCE_DIR}") # ---------------------------------------------------------------------------- # common include directories and link libraries @@ -112,9 +113,9 @@ add_gflags_test(undefok-5 1 "unknown command line flag 'foo'" "" unittest --unde add_gflags_test(undefok-6 1 "unknown command line flag 'foo'" "" unittest --undefok=foot --foo --unused_bool) # See if we can successfully load our flags from the flagfile -add_gflags_test(flagfile.1 0 "gflags_unittest" "gflags_unittest.cc" unittest "--flagfile=${CMAKE_CURRENT_LIST_DIR}/flagfile.1") -add_gflags_test(flagfile.2 0 "PASS" "" unittest "--flagfile=${CMAKE_CURRENT_LIST_DIR}/flagfile.2") -add_gflags_test(flagfile.3 0 "PASS" "" unittest "--flagfile=${CMAKE_CURRENT_LIST_DIR}/flagfile.3") +add_gflags_test(flagfile.1 0 "gflags_unittest" "gflags_unittest.cc" unittest "--flagfile=flagfile.1") +add_gflags_test(flagfile.2 0 "PASS" "" unittest "--flagfile=flagfile.2") +add_gflags_test(flagfile.3 0 "PASS" "" unittest "--flagfile=flagfile.3") # Also try to load flags from the environment add_gflags_test(fromenv=version 0 "gflags_unittest" "gflags_unittest.cc" unittest --fromenv=version) diff --git a/test/gflags_unittest.cc b/test/gflags_unittest.cc index 5604cb1..4990182 100644 --- a/test/gflags_unittest.cc +++ b/test/gflags_unittest.cc @@ -66,14 +66,8 @@ using GFLAGS_NAMESPACE::RegisterFlagValidator; using GFLAGS_NAMESPACE::CommandLineFlagInfo; using GFLAGS_NAMESPACE::GetAllFlags; -DEFINE_string(test_tmpdir, "/tmp/gflags_unittest", "Dir we use for temp files"); -#ifdef _MSC_VER // in MSVC, we run from the vsprojects directory -DEFINE_string(srcdir, "..\\..", - "Source-dir root, needed to find gflags_unittest_flagfile"); -#else -DEFINE_string(srcdir, StringFromEnv("SRCDIR", "."), - "Source-dir root, needed to find gflags_unittest_flagfile"); -#endif +DEFINE_string(test_tmpdir, "", "Dir we use for temp files"); +DEFINE_string(srcdir, StringFromEnv("SRCDIR", "."), "Source-dir root, needed to find gflags_unittest_flagfile"); DECLARE_string(tryfromenv); // in gflags.cc |