1dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter// Copyright 2006, Google Inc.
2dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter// All rights reserved.
3dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter//
4dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter// Redistribution and use in source and binary forms, with or without
5dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter// modification, are permitted provided that the following conditions are
6dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter// met:
7dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter//
8dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter//     * Redistributions of source code must retain the above copyright
9dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter// notice, this list of conditions and the following disclaimer.
10dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter//     * Redistributions in binary form must reproduce the above
11dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter// copyright notice, this list of conditions and the following disclaimer
12dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter// in the documentation and/or other materials provided with the
13dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter// distribution.
14dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter//     * Neither the name of Google Inc. nor the names of its
15dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter// contributors may be used to endorse or promote products derived from
16dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter// this software without specific prior written permission.
17dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter//
18dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter//
30dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter// Author: phanna@google.com (Patrick Hanna)
31dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter
32dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter// Unit test for Google Test's --gtest_list_tests flag.
33dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter//
34dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter// A user can ask Google Test to list all tests that will run
35dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter// so that when using a filter, a user will know what
36dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter// tests to look for. The tests will not be run after listing.
37dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter//
38dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter// This program will be invoked from a Python unit test.
39dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter// Don't run it directly.
40dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter
4146108a219a4b812dd8f36fee479a0340ea5963f5Ben Chan#include "gtest/gtest.h"
42dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter
43dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixternamespace {
44dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter
45dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter// Several different test cases and tests that will be listed.
46dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken MixterTEST(Foo, Bar1) {
47dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter}
48dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter
49dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken MixterTEST(Foo, Bar2) {
50dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter}
51dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter
52dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken MixterTEST(Foo, DISABLED_Bar3) {
53dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter}
54dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter
55dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken MixterTEST(Abc, Xyz) {
56dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter}
57dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter
58dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken MixterTEST(Abc, Def) {
59dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter}
60dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter
61dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken MixterTEST(FooBar, Baz) {
62dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter}
63dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter
64dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixterclass FooTest : public testing::Test {
65dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter};
66dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter
67dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken MixterTEST_F(FooTest, Test1) {
68dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter}
69dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter
70dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken MixterTEST_F(FooTest, DISABLED_Test2) {
71dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter}
72dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter
73dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken MixterTEST_F(FooTest, Test3) {
74dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter}
75dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter
76dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken MixterTEST(FooDeathTest, Test1) {
77dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter}
78dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter
79dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter}  // namespace
80dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter
81dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixterint main(int argc, char **argv) {
82dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter  ::testing::InitGoogleTest(&argc, argv);
83dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter
84dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter  return RUN_ALL_TESTS();
85dd1c93d5709e32713961cfd95fe30489a4ad2d26Ken Mixter}
86