1. 01 May, 2020 3 commits
    • Abseil Team's avatar
      Googletest export · 1b3eb6ef
      Abseil Team authored
      Explicitly define copy constructors used in googletest tests
      
      As of C++11, providing a user-declared copy assignment operator should
      suppress the availability of an implicit default copy constructor.
      Classes that provide (or delete) a copy assignment operator must provide
      their own copy constructor if one is desired. This may be an explicit
      default copy constructor if appropriate.
      
      As googletest is a C++11 codebase, this change should be made without
      qualification.
      
      This addresses the -Wdeprecated-copy warnings issued by trunk clang:
      
      While compiling googletest/test/googletest-death-test-test.cc:
      
      In file included from .../googletest/test/googletest-death-test-test.cc:33:
      .../googletest/include/gtest/gtest-death-test.h:196:8: error: definition of implicit copy constructor for 'ExitedWithCode' is deprecated because it has a user-declared copy assignment operator [-Werror,-Wdeprecated-copy]
        void operator=(const ExitedWithCode& other);
             ^
      .../googletest/test/googletest-death-test-test.cc:279:16: note: in implicit copy constructor for 'testing::ExitedWithCode' first required here
        EXPECT_PRED1(pred0,  status0);
                     ^
      
      While compiling googletest/test/googletest-param-test-test.cc:
      
      .../googletest/test/googletest-param-test-test.cc:502:8: error: definition of implicit copy constructor for 'NonDefaultConstructAssignString' is deprecated because it has a user-declared copy assignment operator [-Werror,-Wdeprecated-copy]
        void operator=(const NonDefaultConstructAssignString&);
             ^
      .../googletest/test/googletest-param-test-test.cc:507:36: note: in implicit copy constructor for 'NonDefaultConstructAssignString' first required here
            Combine(Values(0, 1), Values(NonDefaultConstructAssignString("A"),
      
      This matches other changes made elsewhere in the googletest codebase,
      such as 306f3754. Perhaps those previous changes did not consider
      test code.
      
      PiperOrigin-RevId: 307495126
      1b3eb6ef
    • Abseil Team's avatar
      Googletest export · fb5d9b66
      Abseil Team authored
      Fix comment that describes how to test against nullopt.
      
      PiperOrigin-RevId: 307448375
      fb5d9b66
    • Abseil Team's avatar
      Googletest export · a6770105
      Abseil Team authored
      Internal change
      
      PiperOrigin-RevId: 307040308
      a6770105
  2. 16 Apr, 2020 7 commits
  3. 12 Apr, 2020 1 commit
  4. 09 Apr, 2020 1 commit
  5. 07 Apr, 2020 1 commit
  6. 04 Apr, 2020 3 commits
  7. 31 Mar, 2020 3 commits
  8. 28 Mar, 2020 2 commits
    • Arthur O'Dwyer's avatar
      Replace the last instance of `throw()` with `noexcept`. NFC. · 6ed4e716
      Arthur O'Dwyer authored
      Fixes a -Wdeprecated warning.
      
      /home/travis/build/Quuxplusone/googletest/googletest/test/googletest-death-test_ex_test.cc:62:28: error:
            dynamic exception specifications are deprecated [-Werror,-Wdeprecated]
        const char* what() const throw() override { return "exceptional message"; }
                                 ^~~~~~~
      /home/travis/build/Quuxplusone/googletest/googletest/test/googletest-death-test_ex_test.cc:62:28: note:
            use 'noexcept' instead
        const char* what() const throw() override { return "exceptional message"; }
                                 ^~~~~~~
                                 noexcept
      6ed4e716
    • Arthur O'Dwyer's avatar
      Fix a typo in .travis.yml · 5504ded3
      Arthur O'Dwyer authored
      The old code was trying to pass -Wgnu-zero-variadic-macro-arguments
      as part of CXXFLAGS, but it forgot the quotation marks needed around
      whitespace. This meant that option was ignored:
      https://travis-ci.org/github/google/googletest/jobs/666534177#L760
      
      Unfortunately, the codebase is not remotely clean with respect to that
      warning option. It fails like this:
      https://travis-ci.org/github/Quuxplusone/googletest/jobs/668118135
      
      So, remove that failing configuration from the test matrix until
      someone has time to look at it.
      5504ded3
  9. 24 Mar, 2020 5 commits
  10. 21 Mar, 2020 3 commits
  11. 18 Mar, 2020 2 commits
  12. 17 Mar, 2020 8 commits
  13. 11 Mar, 2020 1 commit
    • Romain Geissler's avatar
      Make sure IsATTY does not clobber errno. · a1b0173d
      Romain Geissler authored
      Exposition of the problem:
      > cat main.cpp
      
      TEST(errnoTest, errnoTest)
      {
          ASSERT_EQ(errno, 0);
      }
      
      int main(int argc, char** argv)
      {
          ::testing::InitGoogleTest(&argc, argv);
      
          return RUN_ALL_TESTS();
      }
      
      Compiled with gcc 10 like this:
      > g++ -pthread -o runtest main.cpp -Wl,-Bstatic -lgtest -Wl,-Bdynamic
      
      Before patch:
      >  ./runtest
      [==========] Running 1 test from 1 test suite.
      [----------] Global test environment set-up.
      [----------] 1 test from errnoTest
      [ RUN      ] errnoTest.errnoTest
      [       OK ] errnoTest.errnoTest (0 ms)
      [----------] 1 test from errnoTest (0 ms total)
      
      [----------] Global test environment tear-down
      [==========] 1 test from 1 test suite ran. (0 ms total)
      [  PASSED  ] 1 test.
      
      (output is colored, I run this inside an interactive terminal).
      
      > ./runtest | cat
      [==========] Running 1 test from 1 test suite.
      [----------] Global test environment set-up.
      [----------] 1 test from errnoTest
      [ RUN      ] errnoTest.errnoTest
      main.cpp:5: Failure
      Expected equality of these values:
        (*__errno_location ())
          Which is: 25
        0
      [  FAILED  ] errnoTest.errnoTest (0 ms)
      [----------] 1 test from errnoTest (0 ms total)
      
      [----------] Global test environment tear-down
      [==========] 1 test from 1 test suite ran. (0 ms total)
      [  PASSED  ] 0 tests.
      [  FAILED  ] 1 test, listed below:
      [  FAILED  ] errnoTest.errnoTest
      
       1 FAILED TEST
      
      (output is not colored, since IsTTY return false, because of the pipe,
      however it also clobbered errno for the tests).
      
      After the patch, both cases are working fine:
      > ./runtest
      [==========] Running 1 test from 1 test suite.
      [----------] Global test environment set-up.
      [----------] 1 test from errnoTest
      [ RUN      ] errnoTest.errnoTest
      [       OK ] errnoTest.errnoTest (0 ms)
      [----------] 1 test from errnoTest (0 ms total)
      
      [----------] Global test environment tear-down
      [==========] 1 test from 1 test suite ran. (0 ms total)
      [  PASSED  ] 1 test.
      
      > ./runtest | cat
      [==========] Running 1 test from 1 test suite.
      [----------] Global test environment set-up.
      [----------] 1 test from errnoTest
      [ RUN      ] errnoTest.errnoTest
      [       OK ] errnoTest.errnoTest (0 ms)
      [----------] 1 test from errnoTest (0 ms total)
      
      [----------] Global test environment tear-down
      [==========] 1 test from 1 test suite ran. (0 ms total)
      [  PASSED  ] 1 test.
      a1b0173d