Change a few visibilities to work around a bug in g++ 3.4.2.

It looks like this version of g++ is confused by the local class generated
by the TEST_F macro and it can't tell that we're in a method that inherits
the class we want to access.

This bug causes the following kind of error:
../samples/../test/gtest_unittest.cc: In static member function `static void
<unnamed>::ExpectFatalFailureTest_CatchesFatalFaliure_Test::TestBody()::GTestExpectFatalFailureHelper::Execute()':
../samples/../test/gtest_unittest.cc:799: error: `static void
<unnamed>::ScopedFakeTestPartResultReporterTest::AddFailure(<unnamed>::ScopedFakeTestPartResultReporterTest::FailureMode)'
is protected
../samples/../test/gtest_unittest.cc:883: error: within this context

Signed-off-by: Benoit Sigoure <tsunanet@gmail.com>
pull/496/merge
tsunanet 16 years ago
parent c8a0482c0b
commit 8de91f8f83
  1. 2
      test/gtest_output_test_.cc
  2. 4
      test/gtest_unittest.cc

@ -808,7 +808,7 @@ INSTANTIATE_TYPED_TEST_CASE_P(My, ATypeParamDeathTest, NumericTypes);
// Tests various failure conditions of
// EXPECT_{,NON}FATAL_FAILURE{,_ON_ALL_THREADS}.
class ExpectFailureTest : public testing::Test {
protected:
public: // Must be public and not protected due to a bug in g++ 3.4.2.
enum FailureMode {
FATAL_FAILURE,
NONFATAL_FAILURE

@ -827,7 +827,7 @@ static void AddNonfatalFailure() {
}
class ScopedFakeTestPartResultReporterTest : public Test {
protected:
public: // Must be public and not protected due to a bug in g++ 3.4.2.
enum FailureMode {
FATAL_FAILURE,
NONFATAL_FAILURE
@ -2701,7 +2701,7 @@ INSTANTIATE_TYPED_TEST_CASE_P(My, DISABLED_TypedTestP, NumericTypes);
// Tests that assertion macros evaluate their arguments exactly once.
class SingleEvaluationTest : public Test {
public:
public: // Must be public and not protected due to a bug in g++ 3.4.2.
// This helper function is needed by the FailedASSERT_STREQ test
// below. It's public to work around C++Builder's bug with scoping local
// classes.

Loading…
Cancel
Save