Index: test/gtest_expect_before_tests_unittest.cc |
=================================================================== |
--- test/gtest_expect_before_tests_unittest.cc (revision 0) |
+++ test/gtest_expect_before_tests_unittest.cc (revision 0) |
@@ -0,0 +1,57 @@ |
+// Copyright 2006, 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 a Google Test program that has no test defined can run |
+// successfully. |
+// |
+// Author: wan@google.com (Zhanyong Wan) |
+ |
+#include "gtest/gtest.h" |
+ |
+ |
+int main(int argc, char **argv) { |
+ testing::InitGoogleTest(&argc, argv); |
+ |
+ // An ad-hoc assertion outside of all tests. |
+ // |
+ // This serves three purposes: |
+ // |
+ // 1. It verifies that an ad-hoc assertion can be executed even if |
+ // no test is defined. |
+ // 2. It verifies that a failed ad-hoc assertion causes the test |
+ // program to fail. |
+ // 3. We had a bug where the XML output won't be generated if an |
+ // assertion is executed before RUN_ALL_TESTS() is called, even |
+ // though --gtest_output=xml is specified. This makes sure the |
+ // bug is fixed and doesn't regress. |
+ EXPECT_EQ(1, 2); |
+ |
+ // The above EXPECT_EQ() should cause RUN_ALL_TESTS() to return non-zero. |
+ return RUN_ALL_TESTS() ? 0 : 1; |
+} |