Exposes gtest flags to user code access. By Alexander Demin.
This commit is contained in:
parent
4b83461e97
commit
ad99ca1446
|
@ -93,16 +93,53 @@
|
|||
|
||||
namespace testing {
|
||||
|
||||
// The upper limit for valid stack trace depths.
|
||||
const int kMaxStackTraceDepth = 100;
|
||||
// Declares the flags.
|
||||
|
||||
// This flag temporary enables the disabled tests.
|
||||
GTEST_DECLARE_bool_(also_run_disabled_tests);
|
||||
|
||||
// This flag brings the debugger on an assertion failure.
|
||||
GTEST_DECLARE_bool_(break_on_failure);
|
||||
|
||||
// This flag controls whether Google Test catches all test-thrown exceptions
|
||||
// and logs them as failures.
|
||||
GTEST_DECLARE_bool_(catch_exceptions);
|
||||
|
||||
// This flag enables using colors in terminal output. Available values are
|
||||
// "yes" to enable colors, "no" (disable colors), or "auto" (the default)
|
||||
// to let Google Test decide.
|
||||
GTEST_DECLARE_string_(color);
|
||||
|
||||
// This flag sets up the filter to select by name using a glob pattern
|
||||
// the tests to run. If the filter is not given all tests are executed.
|
||||
GTEST_DECLARE_string_(filter);
|
||||
|
||||
// This flag causes the Google Test to list tests. None of the tests listed
|
||||
// are actually run if the flag is provided.
|
||||
GTEST_DECLARE_bool_(list_tests);
|
||||
|
||||
// This flag controls whether Google Test emits a detailed XML report to a file
|
||||
// in addition to its normal textual output.
|
||||
GTEST_DECLARE_string_(output);
|
||||
|
||||
// This flags control whether Google Test prints the elapsed time for each
|
||||
// test.
|
||||
GTEST_DECLARE_bool_(print_time);
|
||||
|
||||
// This flag sets how many times the tests are repeated. The default value
|
||||
// is 1. If the value is -1 the tests are repeating forever.
|
||||
GTEST_DECLARE_int32_(repeat);
|
||||
|
||||
// This flag controls whether Google Test includes Google Test internal
|
||||
// stack frames in failure stack traces.
|
||||
GTEST_DECLARE_bool_(show_internal_stack_frames);
|
||||
|
||||
// This flag specifies the maximum number of stack frames to be
|
||||
// printed in a failure message.
|
||||
GTEST_DECLARE_int32_(stack_trace_depth);
|
||||
|
||||
// This flag controls whether Google Test includes Google Test internal
|
||||
// stack frames in failure stack traces.
|
||||
GTEST_DECLARE_bool_(show_internal_stack_frames);
|
||||
// The upper limit for valid stack trace depths.
|
||||
const int kMaxStackTraceDepth = 100;
|
||||
|
||||
namespace internal {
|
||||
|
||||
|
|
|
@ -60,21 +60,10 @@ namespace testing {
|
|||
|
||||
// Declares the flags.
|
||||
//
|
||||
// We don't want the users to modify these flags in the code, but want
|
||||
// Google Test's own unit tests to be able to access them. Therefore we
|
||||
// declare them here as opposed to in gtest.h.
|
||||
GTEST_DECLARE_bool_(also_run_disabled_tests);
|
||||
GTEST_DECLARE_bool_(break_on_failure);
|
||||
GTEST_DECLARE_bool_(catch_exceptions);
|
||||
GTEST_DECLARE_string_(color);
|
||||
// We don't want the users to modify this flag in the code, but want
|
||||
// Google Test's own unit tests to be able to access it. Therefore we
|
||||
// declare it here as opposed to in gtest.h.
|
||||
GTEST_DECLARE_bool_(death_test_use_fork);
|
||||
GTEST_DECLARE_string_(filter);
|
||||
GTEST_DECLARE_bool_(list_tests);
|
||||
GTEST_DECLARE_string_(output);
|
||||
GTEST_DECLARE_bool_(print_time);
|
||||
GTEST_DECLARE_int32_(repeat);
|
||||
GTEST_DECLARE_bool_(show_internal_stack_frames);
|
||||
GTEST_DECLARE_int32_(stack_trace_depth);
|
||||
|
||||
namespace internal {
|
||||
|
||||
|
|
|
@ -33,6 +33,25 @@
|
|||
// Google Test work.
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
// Verifies that the command line flag variables can be accessed
|
||||
// in code once <gtest/gtest.h> has been #included.
|
||||
// Do not move it after other #includes.
|
||||
TEST(CommandLineFlagsTest, CanBeAccessedInCodeOnceGTestHIsIncluded) {
|
||||
bool dummy = testing::GTEST_FLAG(also_run_disabled_tests)
|
||||
|| testing::GTEST_FLAG(break_on_failure)
|
||||
|| testing::GTEST_FLAG(catch_exceptions)
|
||||
|| testing::GTEST_FLAG(color) != "unknown"
|
||||
|| testing::GTEST_FLAG(filter) != "unknown"
|
||||
|| testing::GTEST_FLAG(list_tests)
|
||||
|| testing::GTEST_FLAG(output) != "unknown"
|
||||
|| testing::GTEST_FLAG(print_time)
|
||||
|| testing::GTEST_FLAG(repeat) > 0
|
||||
|| testing::GTEST_FLAG(show_internal_stack_frames)
|
||||
|| testing::GTEST_FLAG(stack_trace_depth) > 0;
|
||||
EXPECT_TRUE(dummy || !dummy); // Suppresses warning that dummy is unused.
|
||||
}
|
||||
|
||||
#include <gtest/gtest-spi.h>
|
||||
|
||||
// Indicates that this translation unit is part of Google Test's
|
||||
|
|
Loading…
Reference in New Issue
Block a user