003 File Manager
Current Path:
/usr/src/contrib/googletest/googletest/test
usr
/
src
/
contrib
/
googletest
/
googletest
/
test
/
📁
..
📄
BUILD.bazel
(13.24 KB)
📄
googletest-break-on-failure-unittest.py
(7.13 KB)
📄
googletest-break-on-failure-unittest_.cc
(3.16 KB)
📄
googletest-catch-exceptions-test.py
(9.64 KB)
📄
googletest-catch-exceptions-test_.cc
(8.63 KB)
📄
googletest-color-test.py
(4.76 KB)
📄
googletest-color-test_.cc
(2.45 KB)
📄
googletest-death-test-test.cc
(43.63 KB)
📄
googletest-death-test_ex_test.cc
(3.53 KB)
📄
googletest-env-var-test.py
(3.91 KB)
📄
googletest-env-var-test_.cc
(3.39 KB)
📄
googletest-filepath-test.cc
(22.16 KB)
📄
googletest-filter-unittest.py
(20.88 KB)
📄
googletest-filter-unittest_.cc
(3.38 KB)
📄
googletest-json-outfiles-test.py
(5.36 KB)
📄
googletest-json-output-unittest.py
(20.67 KB)
📄
googletest-linked-ptr-test.cc
(3.93 KB)
📄
googletest-list-tests-unittest.py
(6.37 KB)
📄
googletest-list-tests-unittest_.cc
(4.55 KB)
📄
googletest-listener-test.cc
(9.57 KB)
📄
googletest-message-test.cc
(5.14 KB)
📄
googletest-options-test.cc
(7.46 KB)
📄
googletest-output-test-golden-lin.txt
(34.9 KB)
📄
googletest-output-test.py
(12.34 KB)
📄
googletest-output-test_.cc
(33.82 KB)
📄
googletest-param-test-invalid-name1-test.py
(2.32 KB)
📄
googletest-param-test-invalid-name1-test_.cc
(1.97 KB)
📄
googletest-param-test-invalid-name2-test.py
(2.28 KB)
📄
googletest-param-test-invalid-name2-test_.cc
(2.08 KB)
📄
googletest-param-test-test.cc
(39.39 KB)
📄
googletest-param-test-test.h
(2.2 KB)
📄
googletest-param-test2-test.cc
(2.74 KB)
📄
googletest-port-test.cc
(39.4 KB)
📄
googletest-printers-test.cc
(55.58 KB)
📄
googletest-shuffle-test.py
(12.22 KB)
📄
googletest-shuffle-test_.cc
(3.19 KB)
📄
googletest-test-part-test.cc
(7.98 KB)
📄
googletest-test2_test.cc
(2.74 KB)
📄
googletest-throw-on-failure-test.py
(5.6 KB)
📄
googletest-throw-on-failure-test_.cc
(2.99 KB)
📄
googletest-tuple-test.cc
(8.99 KB)
📄
googletest-uninitialized-test.py
(2.41 KB)
📄
googletest-uninitialized-test_.cc
(1.83 KB)
📄
gtest-typed-test2_test.cc
(1.97 KB)
📄
gtest-typed-test_test.cc
(14.62 KB)
📄
gtest-typed-test_test.h
(2.38 KB)
📄
gtest-unittest-api_test.cc
(12.86 KB)
📄
gtest_all_test.cc
(2.23 KB)
📄
gtest_assert_by_exception_test.cc
(3.8 KB)
📄
gtest_environment_test.cc
(6.31 KB)
📄
gtest_help_test.py
(5.69 KB)
📄
gtest_help_test_.cc
(2.04 KB)
📄
gtest_json_test_utils.py
(2.35 KB)
📄
gtest_list_output_unittest.py
(4.8 KB)
📄
gtest_list_output_unittest_.cc
(2.07 KB)
📄
gtest_main_unittest.cc
(1.8 KB)
📄
gtest_no_test_unittest.cc
(2.35 KB)
📄
gtest_pred_impl_unittest.cc
(75.56 KB)
📄
gtest_premature_exit_test.cc
(4.16 KB)
📄
gtest_prod_test.cc
(2.1 KB)
📄
gtest_repeat_test.cc
(7.31 KB)
📄
gtest_skip_in_environment_setup_test.cc
(2.17 KB)
📄
gtest_skip_test.cc
(1.93 KB)
📄
gtest_sole_header_test.cc
(2.12 KB)
📄
gtest_stress_test.cc
(9.12 KB)
📄
gtest_test_macro_stack_footprint_test.cc
(3.68 KB)
📄
gtest_test_utils.py
(10.44 KB)
📄
gtest_testbridge_test.py
(2.42 KB)
📄
gtest_testbridge_test_.cc
(1.88 KB)
📄
gtest_throw_on_failure_ex_test.cc
(3.32 KB)
📄
gtest_unittest.cc
(245.37 KB)
📄
gtest_xml_outfile1_test_.cc
(1.92 KB)
📄
gtest_xml_outfile2_test_.cc
(1.92 KB)
📄
gtest_xml_outfiles_test.py
(5.42 KB)
📄
gtest_xml_output_unittest.py
(16.91 KB)
📄
gtest_xml_output_unittest_.cc
(5.96 KB)
📄
gtest_xml_test_utils.py
(9 KB)
📄
production.cc
(1.64 KB)
📄
production.h
(2.07 KB)
Editing: gtest_premature_exit_test.cc
// Copyright 2013, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Tests that Google Test manipulates the premature-exit-detection // file correctly. #include <stdio.h> #include "gtest/gtest.h" using ::testing::InitGoogleTest; using ::testing::Test; using ::testing::internal::posix::GetEnv; using ::testing::internal::posix::Stat; using ::testing::internal::posix::StatStruct; namespace { class PrematureExitTest : public Test { public: // Returns true iff the given file exists. static bool FileExists(const char* filepath) { StatStruct stat; return Stat(filepath, &stat) == 0; } protected: PrematureExitTest() { premature_exit_file_path_ = GetEnv("TEST_PREMATURE_EXIT_FILE"); // Normalize NULL to "" for ease of handling. if (premature_exit_file_path_ == NULL) { premature_exit_file_path_ = ""; } } // Returns true iff the premature-exit file exists. bool PrematureExitFileExists() const { return FileExists(premature_exit_file_path_); } const char* premature_exit_file_path_; }; typedef PrematureExitTest PrematureExitDeathTest; // Tests that: // - the premature-exit file exists during the execution of a // death test (EXPECT_DEATH*), and // - a death test doesn't interfere with the main test process's // handling of the premature-exit file. TEST_F(PrematureExitDeathTest, FileExistsDuringExecutionOfDeathTest) { if (*premature_exit_file_path_ == '\0') { return; } EXPECT_DEATH_IF_SUPPORTED({ // If the file exists, crash the process such that the main test // process will catch the (expected) crash and report a success; // otherwise don't crash, which will cause the main test process // to report that the death test has failed. if (PrematureExitFileExists()) { exit(1); } }, ""); } // Tests that the premature-exit file exists during the execution of a // normal (non-death) test. TEST_F(PrematureExitTest, PrematureExitFileExistsDuringTestExecution) { if (*premature_exit_file_path_ == '\0') { return; } EXPECT_TRUE(PrematureExitFileExists()) << " file " << premature_exit_file_path_ << " should exist during test execution, but doesn't."; } } // namespace int main(int argc, char **argv) { InitGoogleTest(&argc, argv); const int exit_code = RUN_ALL_TESTS(); // Test that the premature-exit file is deleted upon return from // RUN_ALL_TESTS(). const char* const filepath = GetEnv("TEST_PREMATURE_EXIT_FILE"); if (filepath != NULL && *filepath != '\0') { if (PrematureExitTest::FileExists(filepath)) { printf( "File %s shouldn't exist after the test program finishes, but does.", filepath); return 1; } } return exit_code; }
Upload File
Create Folder