summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Schuh <andreas.schuh.84@gmail.com>2014-03-17 21:15:52 +0000
committerAndreas Schuh <andreas.schuh.84@gmail.com>2014-03-17 21:15:52 +0000
commit0d9486f9a3a4f0cb87666ad4c5a0a211ff948d63 (patch)
treecb977adc1bfb06876cfeaa800a6184f4b9e5d2ab
parent505686bd7aa0a5d6c2dc13b690a17f342bcf1c62 (diff)
downloadgflags-0d9486f9a3a4f0cb87666ad4c5a0a211ff948d63.tar.gz
gflags-0d9486f9a3a4f0cb87666ad4c5a0a211ff948d63.tar.bz2
gflags-0d9486f9a3a4f0cb87666ad4c5a0a211ff948d63.zip
Pass --test_tmpdir and --srcdir to unittests.
-rw-r--r--cmake/utils.cmake6
-rw-r--r--test/CMakeLists.txt9
-rw-r--r--test/gflags_unittest.cc10
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