├── .gitignore
├── tests
├── googletest
│ ├── googlemock
│ │ ├── build-aux
│ │ │ └── .keep
│ │ ├── scripts
│ │ │ ├── generator
│ │ │ │ ├── cpp
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── utils.py
│ │ │ │ │ └── keywords.py
│ │ │ │ ├── gmock_gen.py
│ │ │ │ └── README
│ │ │ └── upload_gmock.py
│ │ ├── include
│ │ │ └── gmock
│ │ │ │ ├── internal
│ │ │ │ └── custom
│ │ │ │ │ ├── gmock-generated-actions.h
│ │ │ │ │ ├── gmock-generated-actions.h.pump
│ │ │ │ │ ├── gmock-matchers.h
│ │ │ │ │ └── gmock-port.h
│ │ │ │ ├── gmock-more-matchers.h
│ │ │ │ └── gmock.h
│ │ ├── msvc
│ │ │ ├── 2005
│ │ │ │ ├── gmock_config.vsprops
│ │ │ │ └── gmock.sln
│ │ │ └── 2010
│ │ │ │ ├── gmock_config.props
│ │ │ │ └── gmock.sln
│ │ ├── docs
│ │ │ ├── v1_5
│ │ │ │ └── Documentation.md
│ │ │ ├── Documentation.md
│ │ │ ├── v1_6
│ │ │ │ └── Documentation.md
│ │ │ ├── v1_7
│ │ │ │ └── Documentation.md
│ │ │ └── KnownIssues.md
│ │ ├── CONTRIBUTORS
│ │ ├── LICENSE
│ │ ├── test
│ │ │ ├── gmock_link_test.cc
│ │ │ ├── gmock_link2_test.cc
│ │ │ ├── gmock-port_test.cc
│ │ │ ├── gmock_all_test.cc
│ │ │ ├── gmock_ex_test.cc
│ │ │ └── gmock_leak_test_.cc
│ │ └── src
│ │ │ ├── gmock-all.cc
│ │ │ └── gmock_main.cc
│ ├── googletest
│ │ ├── build-aux
│ │ │ └── .keep
│ │ ├── xcode
│ │ │ ├── Config
│ │ │ │ ├── TestTarget.xcconfig
│ │ │ │ ├── FrameworkTarget.xcconfig
│ │ │ │ ├── StaticLibraryTarget.xcconfig
│ │ │ │ ├── DebugProject.xcconfig
│ │ │ │ ├── ReleaseProject.xcconfig
│ │ │ │ └── General.xcconfig
│ │ │ ├── Samples
│ │ │ │ └── FrameworkSample
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ ├── widget.h
│ │ │ │ │ ├── widget.cc
│ │ │ │ │ ├── runtests.sh
│ │ │ │ │ └── widget_test.cc
│ │ │ ├── Resources
│ │ │ │ └── Info.plist
│ │ │ └── Scripts
│ │ │ │ └── runtests.sh
│ │ ├── docs
│ │ │ ├── V1_5_Documentation.md
│ │ │ ├── Documentation.md
│ │ │ ├── V1_6_Documentation.md
│ │ │ ├── V1_7_Documentation.md
│ │ │ ├── Samples.md
│ │ │ ├── V1_6_Samples.md
│ │ │ └── V1_7_Samples.md
│ │ ├── CONTRIBUTORS
│ │ ├── LICENSE
│ │ ├── test
│ │ │ ├── production.cc
│ │ │ ├── gtest_main_unittest.cc
│ │ │ ├── gtest_uninitialized_test_.cc
│ │ │ ├── gtest_xml_outfile1_test_.cc
│ │ │ ├── gtest_xml_outfile2_test_.cc
│ │ │ ├── gtest-typed-test2_test.cc
│ │ │ ├── gtest_help_test_.cc
│ │ │ ├── production.h
│ │ │ ├── gtest_all_test.cc
│ │ │ ├── gtest_prod_test.cc
│ │ │ ├── gtest_sole_header_test.cc
│ │ │ ├── gtest-param-test_test.h
│ │ │ ├── gtest_no_test_unittest.cc
│ │ │ ├── gtest-typed-test_test.h
│ │ │ ├── gtest_uninitialized_test.py
│ │ │ ├── gtest-param-test2_test.cc
│ │ │ ├── gtest_color_test_.cc
│ │ │ ├── gtest_throw_on_failure_test_.cc
│ │ │ ├── gtest_break_on_failure_unittest_.cc
│ │ │ ├── gtest_throw_on_failure_ex_test.cc
│ │ │ ├── gtest_shuffle_test_.cc
│ │ │ └── gtest_env_var_test.py
│ │ ├── src
│ │ │ ├── gtest_main.cc
│ │ │ └── gtest-all.cc
│ │ ├── codegear
│ │ │ ├── gtest_all.cc
│ │ │ ├── gtest_link.cc
│ │ │ └── gtest.groupproj
│ │ ├── samples
│ │ │ ├── sample4_unittest.cc
│ │ │ ├── sample1.h
│ │ │ ├── sample4.cc
│ │ │ ├── sample4.h
│ │ │ ├── sample2.cc
│ │ │ ├── sample1.cc
│ │ │ └── sample2.h
│ │ ├── include
│ │ │ └── gtest
│ │ │ │ ├── internal
│ │ │ │ ├── custom
│ │ │ │ │ ├── gtest.h
│ │ │ │ │ ├── gtest-printers.h
│ │ │ │ │ └── gtest-port.h
│ │ │ │ └── gtest-port-arch.h
│ │ │ │ └── gtest_prod.h
│ │ ├── msvc
│ │ │ ├── gtest.sln
│ │ │ ├── gtest-md.sln
│ │ │ ├── gtest.vcproj
│ │ │ └── gtest-md.vcproj
│ │ ├── configure.ac
│ │ ├── scripts
│ │ │ ├── upload_gtest.py
│ │ │ └── common.py
│ │ └── m4
│ │ │ └── gtest.m4
│ ├── travis.sh
│ └── .travis.yml
└── CMakeLists.txt
├── benchmark
└── CMakeLists.txt
└── CMakeLists.txt
/.gitignore:
--------------------------------------------------------------------------------
1 | build
2 |
--------------------------------------------------------------------------------
/tests/googletest/googlemock/build-aux/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/build-aux/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/googletest/googlemock/scripts/generator/cpp/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/benchmark/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # -*- mode: CMAKE; -*-
2 | add_executable(bench bench.cpp)
3 | target_include_directories(bench PUBLIC ../include)
4 |
--------------------------------------------------------------------------------
/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # -*- mode: CMAKE; -*-
2 |
3 | cmake_minimum_required(VERSION 3.2)
4 | project(atoi CXX)
5 | set(CMAKE_CXX_STANDARD 11)
6 |
7 | add_subdirectory(benchmark)
8 | add_subdirectory(tests)
9 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/xcode/Config/TestTarget.xcconfig:
--------------------------------------------------------------------------------
1 | //
2 | // TestTarget.xcconfig
3 | //
4 | // These are Test target settings for the gtest framework and examples. It
5 | // is set in the "Based On:" dropdown in the "Target" info dialog.
6 |
7 | PRODUCT_NAME = $(TARGET_NAME)
8 | HEADER_SEARCH_PATHS = ../include
9 |
--------------------------------------------------------------------------------
/tests/googletest/travis.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 | set -evx
3 | env | sort
4 |
5 | mkdir build || true
6 | mkdir build/$GTEST_TARGET || true
7 | cd build/$GTEST_TARGET
8 | cmake -Dgtest_build_samples=ON \
9 | -Dgmock_build_samples=ON \
10 | -Dgtest_build_tests=ON \
11 | -Dgmock_build_tests=ON \
12 | -DCMAKE_CXX_FLAGS=$CXX_FLAGS \
13 | ../../$GTEST_TARGET
14 | make
15 | make test
16 |
--------------------------------------------------------------------------------
/tests/googletest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h:
--------------------------------------------------------------------------------
1 | // This file was GENERATED by command:
2 | // pump.py gmock-generated-actions.h.pump
3 | // DO NOT EDIT BY HAND!!!
4 |
5 | #ifndef GMOCK_INCLUDE_GMOCK_INTERNAL_CUSTOM_GMOCK_GENERATED_ACTIONS_H_
6 | #define GMOCK_INCLUDE_GMOCK_INTERNAL_CUSTOM_GMOCK_GENERATED_ACTIONS_H_
7 |
8 | #endif // GMOCK_INCLUDE_GMOCK_INTERNAL_CUSTOM_GMOCK_GENERATED_ACTIONS_H_
9 |
--------------------------------------------------------------------------------
/tests/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # -*- mode: CMAKE; -*-
2 | include(CTest)
3 | enable_testing()
4 | find_package(Threads)
5 | add_subdirectory(googletest/googletest REQUIRED)
6 |
7 | add_executable(tests tests.cpp)
8 | add_test(tests tests)
9 | target_include_directories(tests PRIVATE ${gtest_SOURCE_DIR}/include ${gtest_SOURCE_DIR})
10 | target_include_directories(tests PUBLIC ../include)
11 | target_link_libraries(tests gtest ${CMAKE_THREAD_LIBS_INIT})
12 |
--------------------------------------------------------------------------------
/tests/googletest/googlemock/msvc/2005/gmock_config.vsprops:
--------------------------------------------------------------------------------
1 |
2 |
7 |
11 |
15 |
16 |
--------------------------------------------------------------------------------
/tests/googletest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h.pump:
--------------------------------------------------------------------------------
1 | $$ -*- mode: c++; -*-
2 | $$ This is a Pump source file (http://go/pump). Please use Pump to convert
3 | $$ it to callback-actions.h.
4 | $$
5 | $var max_callback_arity = 5
6 | $$}} This meta comment fixes auto-indentation in editors.
7 | #ifndef GMOCK_INCLUDE_GMOCK_INTERNAL_CUSTOM_GMOCK_GENERATED_ACTIONS_H_
8 | #define GMOCK_INCLUDE_GMOCK_INTERNAL_CUSTOM_GMOCK_GENERATED_ACTIONS_H_
9 |
10 | #endif // GMOCK_INCLUDE_GMOCK_INTERNAL_CUSTOM_GMOCK_GENERATED_ACTIONS_H_
11 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/xcode/Config/FrameworkTarget.xcconfig:
--------------------------------------------------------------------------------
1 | //
2 | // FrameworkTarget.xcconfig
3 | //
4 | // These are Framework target settings for the gtest framework and examples. It
5 | // is set in the "Based On:" dropdown in the "Target" info dialog.
6 | // This file is based on the Xcode Configuration files in:
7 | // http://code.google.com/p/google-toolbox-for-mac/
8 | //
9 |
10 | // Dynamic libs need to be position independent
11 | GCC_DYNAMIC_NO_PIC = NO
12 |
13 | // Dynamic libs should not have their external symbols stripped.
14 | STRIP_STYLE = non-global
15 |
16 | // Let the user install by specifying the $DSTROOT with xcodebuild
17 | SKIP_INSTALL = NO
18 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/xcode/Config/StaticLibraryTarget.xcconfig:
--------------------------------------------------------------------------------
1 | //
2 | // StaticLibraryTarget.xcconfig
3 | //
4 | // These are static library target settings for libgtest.a. It
5 | // is set in the "Based On:" dropdown in the "Target" info dialog.
6 | // This file is based on the Xcode Configuration files in:
7 | // http://code.google.com/p/google-toolbox-for-mac/
8 | //
9 |
10 | // Static libs can be included in bundles so make them position independent
11 | GCC_DYNAMIC_NO_PIC = NO
12 |
13 | // Static libs should not have their internal globals or external symbols
14 | // stripped.
15 | STRIP_STYLE = debugging
16 |
17 | // Let the user install by specifying the $DSTROOT with xcodebuild
18 | SKIP_INSTALL = NO
19 |
--------------------------------------------------------------------------------
/tests/googletest/googlemock/msvc/2010/gmock_config.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ../../gtest
5 |
6 |
7 | <_ProjectFileVersion>10.0.30319.1
8 |
9 |
10 |
11 | $(GTestDir)/include;%(AdditionalIncludeDirectories)
12 |
13 |
14 |
15 |
16 | $(GTestDir)
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/tests/googletest/googlemock/docs/v1_5/Documentation.md:
--------------------------------------------------------------------------------
1 | This page lists all documentation wiki pages for Google Mock **version 1.5.0** -- **if you use a different version of Google Mock, please read the documentation for that specific version instead.**
2 |
3 | * [ForDummies](V1_5_ForDummies.md) -- start here if you are new to Google Mock.
4 | * [CheatSheet](V1_5_CheatSheet.md) -- a quick reference.
5 | * [CookBook](V1_5_CookBook.md) -- recipes for doing various tasks using Google Mock.
6 | * [FrequentlyAskedQuestions](V1_5_FrequentlyAskedQuestions.md) -- check here before asking a question on the mailing list.
7 |
8 | To contribute code to Google Mock, read:
9 |
10 | * DevGuide -- read this _before_ writing your first patch.
11 | * [Pump Manual](http://code.google.com/p/googletest/wiki/PumpManual) -- how we generate some of Google Mock's source files.
--------------------------------------------------------------------------------
/tests/googletest/googletest/docs/V1_5_Documentation.md:
--------------------------------------------------------------------------------
1 | This page lists all official documentation wiki pages for Google Test **1.5.0** -- **if you use a different version of Google Test, make sure to read the documentation for that version instead.**
2 |
3 | * [Primer](V1_5_Primer.md) -- start here if you are new to Google Test.
4 | * [Samples](Samples.md) -- learn from examples.
5 | * [AdvancedGuide](V1_5_AdvancedGuide.md) -- learn more about Google Test.
6 | * [XcodeGuide](V1_5_XcodeGuide.md) -- how to use Google Test in Xcode on Mac.
7 | * [Frequently-Asked Questions](V1_5_FAQ.md) -- check here before asking a question on the mailing list.
8 |
9 | To contribute code to Google Test, read:
10 |
11 | * DevGuide -- read this _before_ writing your first patch.
12 | * [PumpManual](V1_5_PumpManual.md) -- how we generate some of Google Test's source files.
--------------------------------------------------------------------------------
/tests/googletest/googlemock/docs/Documentation.md:
--------------------------------------------------------------------------------
1 | This page lists all documentation wiki pages for Google Mock **(the SVN trunk version)**
2 | - **if you use a released version of Google Mock, please read the documentation for that specific version instead.**
3 |
4 | * [ForDummies](ForDummies.md) -- start here if you are new to Google Mock.
5 | * [CheatSheet](CheatSheet.md) -- a quick reference.
6 | * [CookBook](CookBook.md) -- recipes for doing various tasks using Google Mock.
7 | * [FrequentlyAskedQuestions](FrequentlyAskedQuestions.md) -- check here before asking a question on the mailing list.
8 |
9 | To contribute code to Google Mock, read:
10 |
11 | * [DevGuide](DevGuide.md) -- read this _before_ writing your first patch.
12 | * [Pump Manual](http://code.google.com/p/googletest/wiki/PumpManual) -- how we generate some of Google Mock's source files.
--------------------------------------------------------------------------------
/tests/googletest/googletest/docs/Documentation.md:
--------------------------------------------------------------------------------
1 | This page lists all documentation wiki pages for Google Test **(the SVN trunk version)**
2 | -- **if you use a released version of Google Test, please read the
3 | documentation for that specific version instead.**
4 |
5 | * [Primer](Primer.md) -- start here if you are new to Google Test.
6 | * [Samples](Samples.md) -- learn from examples.
7 | * [AdvancedGuide](AdvancedGuide.md) -- learn more about Google Test.
8 | * [XcodeGuide](XcodeGuide.md) -- how to use Google Test in Xcode on Mac.
9 | * [Frequently-Asked Questions](FAQ.md) -- check here before asking a question on the mailing list.
10 |
11 | To contribute code to Google Test, read:
12 |
13 | * [DevGuide](DevGuide.md) -- read this _before_ writing your first patch.
14 | * [PumpManual](PumpManual.md) -- how we generate some of Google Test's source files.
--------------------------------------------------------------------------------
/tests/googletest/googlemock/docs/v1_6/Documentation.md:
--------------------------------------------------------------------------------
1 | This page lists all documentation wiki pages for Google Mock **1.6**
2 | - **if you use a released version of Google Mock, please read the documentation for that specific version instead.**
3 |
4 | * [ForDummies](V1_6_ForDummies.md) -- start here if you are new to Google Mock.
5 | * [CheatSheet](V1_6_CheatSheet.md) -- a quick reference.
6 | * [CookBook](V1_6_CookBook.md) -- recipes for doing various tasks using Google Mock.
7 | * [FrequentlyAskedQuestions](V1_6_FrequentlyAskedQuestions.md) -- check here before asking a question on the mailing list.
8 |
9 | To contribute code to Google Mock, read:
10 |
11 | * [DevGuide](DevGuide.md) -- read this _before_ writing your first patch.
12 | * [Pump Manual](http://code.google.com/p/googletest/wiki/V1_6_PumpManual) -- how we generate some of Google Mock's source files.
--------------------------------------------------------------------------------
/tests/googletest/googletest/docs/V1_6_Documentation.md:
--------------------------------------------------------------------------------
1 | This page lists all documentation wiki pages for Google Test **1.6**
2 | -- **if you use a released version of Google Test, please read the
3 | documentation for that specific version instead.**
4 |
5 | * [Primer](V1_6_Primer.md) -- start here if you are new to Google Test.
6 | * [Samples](V1_6_Samples.md) -- learn from examples.
7 | * [AdvancedGuide](V1_6_AdvancedGuide.md) -- learn more about Google Test.
8 | * [XcodeGuide](V1_6_XcodeGuide.md) -- how to use Google Test in Xcode on Mac.
9 | * [Frequently-Asked Questions](V1_6_FAQ.md) -- check here before asking a question on the mailing list.
10 |
11 | To contribute code to Google Test, read:
12 |
13 | * [DevGuide](DevGuide.md) -- read this _before_ writing your first patch.
14 | * [PumpManual](V1_6_PumpManual.md) -- how we generate some of Google Test's source files.
--------------------------------------------------------------------------------
/tests/googletest/googlemock/docs/v1_7/Documentation.md:
--------------------------------------------------------------------------------
1 | This page lists all documentation wiki pages for Google Mock **(the SVN trunk version)**
2 | - **if you use a released version of Google Mock, please read the documentation for that specific version instead.**
3 |
4 | * [ForDummies](V1_7_ForDummies.md) -- start here if you are new to Google Mock.
5 | * [CheatSheet](V1_7_CheatSheet.md) -- a quick reference.
6 | * [CookBook](V1_7_CookBook.md) -- recipes for doing various tasks using Google Mock.
7 | * [FrequentlyAskedQuestions](V1_7_FrequentlyAskedQuestions.md) -- check here before asking a question on the mailing list.
8 |
9 | To contribute code to Google Mock, read:
10 |
11 | * [DevGuide](DevGuide.md) -- read this _before_ writing your first patch.
12 | * [Pump Manual](http://code.google.com/p/googletest/wiki/PumpManual) -- how we generate some of Google Mock's source files.
--------------------------------------------------------------------------------
/tests/googletest/googletest/docs/V1_7_Documentation.md:
--------------------------------------------------------------------------------
1 | This page lists all documentation wiki pages for Google Test **(the SVN trunk version)**
2 | -- **if you use a released version of Google Test, please read the
3 | documentation for that specific version instead.**
4 |
5 | * [Primer](V1_7_Primer.md) -- start here if you are new to Google Test.
6 | * [Samples](V1_7_Samples.md) -- learn from examples.
7 | * [AdvancedGuide](V1_7_AdvancedGuide.md) -- learn more about Google Test.
8 | * [XcodeGuide](V1_7_XcodeGuide.md) -- how to use Google Test in Xcode on Mac.
9 | * [Frequently-Asked Questions](V1_7_FAQ.md) -- check here before asking a question on the mailing list.
10 |
11 | To contribute code to Google Test, read:
12 |
13 | * [DevGuide](DevGuide.md) -- read this _before_ writing your first patch.
14 | * [PumpManual](V1_7_PumpManual.md) -- how we generate some of Google Test's source files.
--------------------------------------------------------------------------------
/tests/googletest/googletest/xcode/Samples/FrameworkSample/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIconFile
10 |
11 | CFBundleIdentifier
12 | com.google.gtest.${PRODUCT_NAME:identifier}
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | ${PRODUCT_NAME}
17 | CFBundlePackageType
18 | FMWK
19 | CFBundleShortVersionString
20 | 1.0
21 | CFBundleSignature
22 | ????
23 | CFBundleVersion
24 | 1.0
25 | CSResourcesFileMapped
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/xcode/Config/DebugProject.xcconfig:
--------------------------------------------------------------------------------
1 | //
2 | // DebugProject.xcconfig
3 | //
4 | // These are Debug Configuration project settings for the gtest framework and
5 | // examples. It is set in the "Based On:" dropdown in the "Project" info
6 | // dialog.
7 | // This file is based on the Xcode Configuration files in:
8 | // http://code.google.com/p/google-toolbox-for-mac/
9 | //
10 |
11 | #include "General.xcconfig"
12 |
13 | // No optimization
14 | GCC_OPTIMIZATION_LEVEL = 0
15 |
16 | // Deployment postprocessing is what triggers Xcode to strip, turn it off
17 | DEPLOYMENT_POSTPROCESSING = NO
18 |
19 | // Dead code stripping off
20 | DEAD_CODE_STRIPPING = NO
21 |
22 | // Debug symbols should be on obviously
23 | GCC_GENERATE_DEBUGGING_SYMBOLS = YES
24 |
25 | // Define the DEBUG macro in all debug builds
26 | OTHER_CFLAGS = $(OTHER_CFLAGS) -DDEBUG=1
27 |
28 | // These are turned off to avoid STL incompatibilities with client code
29 | // // Turns on special C++ STL checks to "encourage" good STL use
30 | // GCC_PREPROCESSOR_DEFINITIONS = $(GCC_PREPROCESSOR_DEFINITIONS) _GLIBCXX_DEBUG_PEDANTIC _GLIBCXX_DEBUG _GLIBCPP_CONCEPT_CHECKS
31 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/xcode/Config/ReleaseProject.xcconfig:
--------------------------------------------------------------------------------
1 | //
2 | // ReleaseProject.xcconfig
3 | //
4 | // These are Release Configuration project settings for the gtest framework
5 | // and examples. It is set in the "Based On:" dropdown in the "Project" info
6 | // dialog.
7 | // This file is based on the Xcode Configuration files in:
8 | // http://code.google.com/p/google-toolbox-for-mac/
9 | //
10 |
11 | #include "General.xcconfig"
12 |
13 | // subconfig/Release.xcconfig
14 |
15 | // Optimize for space and size (Apple recommendation)
16 | GCC_OPTIMIZATION_LEVEL = s
17 |
18 | // Deploment postprocessing is what triggers Xcode to strip
19 | DEPLOYMENT_POSTPROCESSING = YES
20 |
21 | // No symbols
22 | GCC_GENERATE_DEBUGGING_SYMBOLS = NO
23 |
24 | // Dead code strip does not affect ObjC code but can help for C
25 | DEAD_CODE_STRIPPING = YES
26 |
27 | // NDEBUG is used by things like assert.h, so define it for general compat.
28 | // ASSERT going away in release tends to create unused vars.
29 | OTHER_CFLAGS = $(OTHER_CFLAGS) -DNDEBUG=1 -Wno-unused-variable
30 |
31 | // When we strip we want to strip all symbols in release, but save externals.
32 | STRIP_STYLE = all
33 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/xcode/Resources/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIconFile
10 |
11 | CFBundleIdentifier
12 | com.google.${PRODUCT_NAME}
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleSignature
18 | ????
19 | CFBundleVersion
20 | GTEST_VERSIONINFO_LONG
21 | CFBundleShortVersionString
22 | GTEST_VERSIONINFO_SHORT
23 | CFBundleGetInfoString
24 | ${PRODUCT_NAME} GTEST_VERSIONINFO_LONG, ${GTEST_VERSIONINFO_ABOUT}
25 | NSHumanReadableCopyright
26 | ${GTEST_VERSIONINFO_ABOUT}
27 | CSResourcesFileMapped
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/tests/googletest/googlemock/scripts/generator/gmock_gen.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | #
3 | # Copyright 2008 Google Inc. All Rights Reserved.
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | """Driver for starting up Google Mock class generator."""
18 |
19 | __author__ = 'nnorwitz@google.com (Neal Norwitz)'
20 |
21 | import os
22 | import sys
23 |
24 | if __name__ == '__main__':
25 | # Add the directory of this script to the path so we can import gmock_class.
26 | sys.path.append(os.path.dirname(__file__))
27 |
28 | from cpp import gmock_class
29 | # Fix the docstring in case they require the usage.
30 | gmock_class.__doc__ = gmock_class.__doc__.replace('gmock_class.py', __file__)
31 | gmock_class.main()
32 |
--------------------------------------------------------------------------------
/tests/googletest/googlemock/scripts/generator/cpp/utils.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | #
3 | # Copyright 2007 Neal Norwitz
4 | # Portions Copyright 2007 Google Inc.
5 | #
6 | # Licensed under the Apache License, Version 2.0 (the "License");
7 | # you may not use this file except in compliance with the License.
8 | # You may obtain a copy of the License at
9 | #
10 | # http://www.apache.org/licenses/LICENSE-2.0
11 | #
12 | # Unless required by applicable law or agreed to in writing, software
13 | # distributed under the License is distributed on an "AS IS" BASIS,
14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | # See the License for the specific language governing permissions and
16 | # limitations under the License.
17 |
18 | """Generic utilities for C++ parsing."""
19 |
20 | __author__ = 'nnorwitz@google.com (Neal Norwitz)'
21 |
22 |
23 | import sys
24 |
25 |
26 | # Set to True to see the start/end token indices.
27 | DEBUG = True
28 |
29 |
30 | def ReadFile(filename, print_error=True):
31 | """Returns the contents of a file."""
32 | try:
33 | fp = open(filename)
34 | try:
35 | return fp.read()
36 | finally:
37 | fp.close()
38 | except IOError:
39 | if print_error:
40 | print('Error reading %s: %s' % (filename, sys.exc_info()[1]))
41 | return None
42 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/docs/Samples.md:
--------------------------------------------------------------------------------
1 | If you're like us, you'd like to look at some Google Test sample code. The
2 | [samples folder](../samples) has a number of well-commented samples showing how to use a
3 | variety of Google Test features.
4 |
5 | * [Sample #1](../samples/sample1_unittest.cc) shows the basic steps of using Google Test to test C++ functions.
6 | * [Sample #2](../samples/sample2_unittest.cc) shows a more complex unit test for a class with multiple member functions.
7 | * [Sample #3](../samples/sample3_unittest.cc) uses a test fixture.
8 | * [Sample #4](../samples/sample4_unittest.cc) is another basic example of using Google Test.
9 | * [Sample #5](../samples/sample5_unittest.cc) teaches how to reuse a test fixture in multiple test cases by deriving sub-fixtures from it.
10 | * [Sample #6](../samples/sample6_unittest.cc) demonstrates type-parameterized tests.
11 | * [Sample #7](../samples/sample7_unittest.cc) teaches the basics of value-parameterized tests.
12 | * [Sample #8](../samples/sample8_unittest.cc) shows using `Combine()` in value-parameterized tests.
13 | * [Sample #9](../samples/sample9_unittest.cc) shows use of the listener API to modify Google Test's console output and the use of its reflection API to inspect test results.
14 | * [Sample #10](../samples/sample10_unittest.cc) shows use of the listener API to implement a primitive memory leak checker.
15 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/xcode/Config/General.xcconfig:
--------------------------------------------------------------------------------
1 | //
2 | // General.xcconfig
3 | //
4 | // These are General configuration settings for the gtest framework and
5 | // examples.
6 | // This file is based on the Xcode Configuration files in:
7 | // http://code.google.com/p/google-toolbox-for-mac/
8 | //
9 |
10 | // Build for PPC and Intel, 32- and 64-bit
11 | ARCHS = i386 x86_64 ppc ppc64
12 |
13 | // Zerolink prevents link warnings so turn it off
14 | ZERO_LINK = NO
15 |
16 | // Prebinding considered unhelpful in 10.3 and later
17 | PREBINDING = NO
18 |
19 | // Strictest warning policy
20 | WARNING_CFLAGS = -Wall -Werror -Wendif-labels -Wnewline-eof -Wno-sign-compare -Wshadow
21 |
22 | // Work around Xcode bugs by using external strip. See:
23 | // http://lists.apple.com/archives/Xcode-users/2006/Feb/msg00050.html
24 | SEPARATE_STRIP = YES
25 |
26 | // Force C99 dialect
27 | GCC_C_LANGUAGE_STANDARD = c99
28 |
29 | // not sure why apple defaults this on, but it's pretty risky
30 | ALWAYS_SEARCH_USER_PATHS = NO
31 |
32 | // Turn on position dependent code for most cases (overridden where appropriate)
33 | GCC_DYNAMIC_NO_PIC = YES
34 |
35 | // Default SDK and minimum OS version is 10.4
36 | SDKROOT = $(DEVELOPER_SDK_DIR)/MacOSX10.4u.sdk
37 | MACOSX_DEPLOYMENT_TARGET = 10.4
38 | GCC_VERSION = 4.0
39 |
40 | // VERSIONING BUILD SETTINGS (used in Info.plist)
41 | GTEST_VERSIONINFO_ABOUT = © 2008 Google Inc.
42 |
--------------------------------------------------------------------------------
/tests/googletest/googlemock/scripts/generator/README:
--------------------------------------------------------------------------------
1 |
2 | The Google Mock class generator is an application that is part of cppclean.
3 | For more information about cppclean, see the README.cppclean file or
4 | visit http://code.google.com/p/cppclean/
5 |
6 | cppclean requires Python 2.3.5 or later. If you don't have Python installed
7 | on your system, you will also need to install it. You can download Python
8 | from: http://www.python.org/download/releases/
9 |
10 | To use the Google Mock class generator, you need to call it
11 | on the command line passing the header file and class for which you want
12 | to generate a Google Mock class.
13 |
14 | Make sure to install the scripts somewhere in your path. Then you can
15 | run the program.
16 |
17 | gmock_gen.py header-file.h [ClassName]...
18 |
19 | If no ClassNames are specified, all classes in the file are emitted.
20 |
21 | To change the indentation from the default of 2, set INDENT in
22 | the environment. For example to use an indent of 4 spaces:
23 |
24 | INDENT=4 gmock_gen.py header-file.h ClassName
25 |
26 | This version was made from SVN revision 281 in the cppclean repository.
27 |
28 | Known Limitations
29 | -----------------
30 | Not all code will be generated properly. For example, when mocking templated
31 | classes, the template information is lost. You will need to add the template
32 | information manually.
33 |
34 | Not all permutations of using multiple pointers/references will be rendered
35 | properly. These will also have to be fixed manually.
36 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/CONTRIBUTORS:
--------------------------------------------------------------------------------
1 | # This file contains a list of people who've made non-trivial
2 | # contribution to the Google C++ Testing Framework project. People
3 | # who commit code to the project are encouraged to add their names
4 | # here. Please keep the list sorted by first names.
5 |
6 | Ajay Joshi
7 | Balázs Dán
8 | Bharat Mediratta
9 | Chandler Carruth
10 | Chris Prince
11 | Chris Taylor
12 | Dan Egnor
13 | Eric Roman
14 | Hady Zalek
15 | Jeffrey Yasskin
16 | Jói Sigurðsson
17 | Keir Mierle
18 | Keith Ray
19 | Kenton Varda
20 | Manuel Klimek
21 | Markus Heule
22 | Mika Raento
23 | Miklós Fazekas
24 | Pasi Valminen
25 | Patrick Hanna
26 | Patrick Riley
27 | Peter Kaminski
28 | Preston Jackson
29 | Rainer Klaffenboeck
30 | Russ Cox
31 | Russ Rufer
32 | Sean Mcafee
33 | Sigurður Ásgeirsson
34 | Tracy Bialik
35 | Vadim Berman
36 | Vlad Losev
37 | Zhanyong Wan
38 |
--------------------------------------------------------------------------------
/tests/googletest/googlemock/CONTRIBUTORS:
--------------------------------------------------------------------------------
1 | # This file contains a list of people who've made non-trivial
2 | # contribution to the Google C++ Mocking Framework project. People
3 | # who commit code to the project are encouraged to add their names
4 | # here. Please keep the list sorted by first names.
5 |
6 | Benoit Sigoure
7 | Bogdan Piloca
8 | Chandler Carruth
9 | Dave MacLachlan
10 | David Anderson
11 | Dean Sturtevant
12 | Gene Volovich
13 | Hal Burch
14 | Jeffrey Yasskin
15 | Jim Keller
16 | Joe Walnes
17 | Jon Wray
18 | Keir Mierle
19 | Keith Ray
20 | Kostya Serebryany
21 | Lev Makhlis
22 | Manuel Klimek
23 | Mario Tanev
24 | Mark Paskin
25 | Markus Heule
26 | Matthew Simmons
27 | Mike Bland
28 | Neal Norwitz
29 | Nermin Ozkiranartli
30 | Owen Carlsen
31 | Paneendra Ba
32 | Paul Menage
33 | Piotr Kaminski
34 | Russ Rufer
35 | Sverre Sundsdal
36 | Takeshi Yoshino
37 | Vadim Berman
38 | Vlad Losev
39 | Wolfgang Klier
40 | Zhanyong Wan
41 |
--------------------------------------------------------------------------------
/tests/googletest/googlemock/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright 2008, Google Inc.
2 | All rights reserved.
3 |
4 | Redistribution and use in source and binary forms, with or without
5 | modification, are permitted provided that the following conditions are
6 | met:
7 |
8 | * Redistributions of source code must retain the above copyright
9 | notice, this list of conditions and the following disclaimer.
10 | * Redistributions in binary form must reproduce the above
11 | copyright notice, this list of conditions and the following disclaimer
12 | in the documentation and/or other materials provided with the
13 | distribution.
14 | * Neither the name of Google Inc. nor the names of its
15 | contributors may be used to endorse or promote products derived from
16 | this software without specific prior written permission.
17 |
18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright 2008, Google Inc.
2 | All rights reserved.
3 |
4 | Redistribution and use in source and binary forms, with or without
5 | modification, are permitted provided that the following conditions are
6 | met:
7 |
8 | * Redistributions of source code must retain the above copyright
9 | notice, this list of conditions and the following disclaimer.
10 | * Redistributions in binary form must reproduce the above
11 | copyright notice, this list of conditions and the following disclaimer
12 | in the documentation and/or other materials provided with the
13 | distribution.
14 | * Neither the name of Google Inc. nor the names of its
15 | contributors may be used to endorse or promote products derived from
16 | this software without specific prior written permission.
17 |
18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 |
--------------------------------------------------------------------------------
/tests/googletest/googlemock/docs/KnownIssues.md:
--------------------------------------------------------------------------------
1 | As any non-trivial software system, Google Mock has some known limitations and problems. We are working on improving it, and welcome your help! The follow is a list of issues we know about.
2 |
3 |
4 |
5 | ## README contains outdated information on Google Mock's compatibility with other testing frameworks ##
6 |
7 | The `README` file in release 1.1.0 still says that Google Mock only works with Google Test. Actually, you can configure Google Mock to work with any testing framework you choose.
8 |
9 | ## Tests failing on machines using Power PC CPUs (e.g. some Macs) ##
10 |
11 | `gmock_output_test` and `gmock-printers_test` are known to fail with Power PC CPUs. This is due to portability issues with these tests, and is not an indication of problems in Google Mock itself. You can safely ignore them.
12 |
13 | ## Failed to resolve libgtest.so.0 in tests when built against installed Google Test ##
14 |
15 | This only applies if you manually built and installed Google Test, and then built a Google Mock against it (either explicitly, or because gtest-config was in your path post-install). In this situation, Libtool has a known issue with certain systems' ldconfig setup:
16 |
17 | http://article.gmane.org/gmane.comp.sysutils.automake.general/9025
18 |
19 | This requires a manual run of "sudo ldconfig" after the "sudo make install" for Google Test before any binaries which link against it can be executed. This isn't a bug in our install, but we should at least have documented it or hacked a work-around into our install. We should have one of these solutions in our next release.
--------------------------------------------------------------------------------
/tests/googletest/.travis.yml:
--------------------------------------------------------------------------------
1 | # Build matrix / environment variable are explained on:
2 | # http://about.travis-ci.org/docs/user/build-configuration/
3 | # This file can be validated on:
4 | # http://lint.travis-ci.org/
5 | # See also
6 | # http://stackoverflow.com/questions/22111549/travis-ci-with-clang-3-4-and-c11/30925448#30925448
7 | # to allow C++11, though we are not yet building with -std=c++11
8 |
9 | install:
10 | # /usr/bin/gcc is 4.6 always, but gcc-X.Y is available.
11 | - if [ "$CXX" = "g++" ]; then export CXX="g++-4.9" CC="gcc-4.9"; fi
12 | # /usr/bin/clang is our version already, and clang-X.Y does not exist.
13 | #- if [ "$CXX" = "clang++" ]; then export CXX="clang++-3.7" CC="clang-3.7"; fi
14 | - echo ${PATH}
15 | - ls /usr/local
16 | - ls /usr/local/bin
17 | - export PATH=/usr/local/bin:/usr/bin:${PATH}
18 | - echo ${CXX}
19 | - ${CXX} --version
20 | addons:
21 | apt:
22 | sources:
23 | - ubuntu-toolchain-r-test
24 | packages:
25 | - gcc-4.9
26 | - g++-4.9
27 | - clang
28 | - valgrind
29 | os:
30 | - linux
31 | - osx
32 | language: cpp
33 | compiler:
34 | - gcc
35 | - clang
36 | script: ./travis.sh
37 | env:
38 | matrix:
39 | - GTEST_TARGET=googletest SHARED_LIB=OFF STATIC_LIB=ON CMAKE_PKG=OFF BUILD_TYPE=debug VERBOSE_MAKE=true VERBOSE
40 | - GTEST_TARGET=googlemock SHARED_LIB=OFF STATIC_LIB=ON CMAKE_PKG=OFF BUILD_TYPE=debug VERBOSE_MAKE=true VERBOSE
41 | - GTEST_TARGET=googlemock SHARED_LIB=OFF STATIC_LIB=ON CMAKE_PKG=OFF BUILD_TYPE=debug CXX_FLAGS=-std=c++11 VERBOSE_MAKE=true VERBOSE
42 | # - GTEST_TARGET=googletest SHARED_LIB=ON STATIC_LIB=ON CMAKE_PKG=ON BUILD_TYPE=release VERBOSE_MAKE=false
43 | # - GTEST_TARGET=googlemock SHARED_LIB=ON STATIC_LIB=ON CMAKE_PKG=ON BUILD_TYPE=release VERBOSE_MAKE=false
44 | notifications:
45 | email: false
46 | sudo: false
47 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/test/production.cc:
--------------------------------------------------------------------------------
1 | // Copyright 2006, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Author: wan@google.com (Zhanyong Wan)
31 | //
32 | // This is part of the unit test for include/gtest/gtest_prod.h.
33 |
34 | #include "production.h"
35 |
36 | PrivateCode::PrivateCode() : x_(0) {}
37 |
--------------------------------------------------------------------------------
/tests/googletest/googlemock/msvc/2005/gmock.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 9.00
3 | # Visual Studio 2005
4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gmock", "gmock.vcproj", "{34681F0D-CE45-415D-B5F2-5C662DFE3BD5}"
5 | EndProject
6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gmock_test", "gmock_test.vcproj", "{F10D22F8-AC7B-4213-8720-608E7D878CD2}"
7 | EndProject
8 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gmock_main", "gmock_main.vcproj", "{E4EF614B-30DF-4954-8C53-580A0BF6B589}"
9 | EndProject
10 | Global
11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
12 | Debug|Win32 = Debug|Win32
13 | Release|Win32 = Release|Win32
14 | EndGlobalSection
15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
16 | {34681F0D-CE45-415D-B5F2-5C662DFE3BD5}.Debug|Win32.ActiveCfg = Debug|Win32
17 | {34681F0D-CE45-415D-B5F2-5C662DFE3BD5}.Debug|Win32.Build.0 = Debug|Win32
18 | {34681F0D-CE45-415D-B5F2-5C662DFE3BD5}.Release|Win32.ActiveCfg = Release|Win32
19 | {34681F0D-CE45-415D-B5F2-5C662DFE3BD5}.Release|Win32.Build.0 = Release|Win32
20 | {F10D22F8-AC7B-4213-8720-608E7D878CD2}.Debug|Win32.ActiveCfg = Debug|Win32
21 | {F10D22F8-AC7B-4213-8720-608E7D878CD2}.Debug|Win32.Build.0 = Debug|Win32
22 | {F10D22F8-AC7B-4213-8720-608E7D878CD2}.Release|Win32.ActiveCfg = Release|Win32
23 | {F10D22F8-AC7B-4213-8720-608E7D878CD2}.Release|Win32.Build.0 = Release|Win32
24 | {E4EF614B-30DF-4954-8C53-580A0BF6B589}.Debug|Win32.ActiveCfg = Debug|Win32
25 | {E4EF614B-30DF-4954-8C53-580A0BF6B589}.Debug|Win32.Build.0 = Debug|Win32
26 | {E4EF614B-30DF-4954-8C53-580A0BF6B589}.Release|Win32.ActiveCfg = Release|Win32
27 | {E4EF614B-30DF-4954-8C53-580A0BF6B589}.Release|Win32.Build.0 = Release|Win32
28 | EndGlobalSection
29 | GlobalSection(SolutionProperties) = preSolution
30 | HideSolutionNode = FALSE
31 | EndGlobalSection
32 | EndGlobal
33 |
--------------------------------------------------------------------------------
/tests/googletest/googlemock/msvc/2010/gmock.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 11.00
3 | # Visual C++ Express 2010
4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gmock", "gmock.vcxproj", "{34681F0D-CE45-415D-B5F2-5C662DFE3BD5}"
5 | EndProject
6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gmock_test", "gmock_test.vcxproj", "{F10D22F8-AC7B-4213-8720-608E7D878CD2}"
7 | EndProject
8 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gmock_main", "gmock_main.vcxproj", "{E4EF614B-30DF-4954-8C53-580A0BF6B589}"
9 | EndProject
10 | Global
11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
12 | Debug|Win32 = Debug|Win32
13 | Release|Win32 = Release|Win32
14 | EndGlobalSection
15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
16 | {34681F0D-CE45-415D-B5F2-5C662DFE3BD5}.Debug|Win32.ActiveCfg = Debug|Win32
17 | {34681F0D-CE45-415D-B5F2-5C662DFE3BD5}.Debug|Win32.Build.0 = Debug|Win32
18 | {34681F0D-CE45-415D-B5F2-5C662DFE3BD5}.Release|Win32.ActiveCfg = Release|Win32
19 | {34681F0D-CE45-415D-B5F2-5C662DFE3BD5}.Release|Win32.Build.0 = Release|Win32
20 | {F10D22F8-AC7B-4213-8720-608E7D878CD2}.Debug|Win32.ActiveCfg = Debug|Win32
21 | {F10D22F8-AC7B-4213-8720-608E7D878CD2}.Debug|Win32.Build.0 = Debug|Win32
22 | {F10D22F8-AC7B-4213-8720-608E7D878CD2}.Release|Win32.ActiveCfg = Release|Win32
23 | {F10D22F8-AC7B-4213-8720-608E7D878CD2}.Release|Win32.Build.0 = Release|Win32
24 | {E4EF614B-30DF-4954-8C53-580A0BF6B589}.Debug|Win32.ActiveCfg = Debug|Win32
25 | {E4EF614B-30DF-4954-8C53-580A0BF6B589}.Debug|Win32.Build.0 = Debug|Win32
26 | {E4EF614B-30DF-4954-8C53-580A0BF6B589}.Release|Win32.ActiveCfg = Release|Win32
27 | {E4EF614B-30DF-4954-8C53-580A0BF6B589}.Release|Win32.Build.0 = Release|Win32
28 | EndGlobalSection
29 | GlobalSection(SolutionProperties) = preSolution
30 | HideSolutionNode = FALSE
31 | EndGlobalSection
32 | EndGlobal
33 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/src/gtest_main.cc:
--------------------------------------------------------------------------------
1 | // Copyright 2006, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 |
30 | #include
31 |
32 | #include "gtest/gtest.h"
33 |
34 | GTEST_API_ int main(int argc, char **argv) {
35 | printf("Running main() from gtest_main.cc\n");
36 | testing::InitGoogleTest(&argc, argv);
37 | return RUN_ALL_TESTS();
38 | }
39 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/docs/V1_6_Samples.md:
--------------------------------------------------------------------------------
1 | If you're like us, you'd like to look at some Google Test sample code. The
2 | [samples folder](http://code.google.com/p/googletest/source/browse/#svn/trunk/samples) has a number of well-commented samples showing how to use a
3 | variety of Google Test features.
4 |
5 | * [Sample #1](http://code.google.com/p/googletest/source/browse/trunk/samples/sample1_unittest.cc) shows the basic steps of using Google Test to test C++ functions.
6 | * [Sample #2](http://code.google.com/p/googletest/source/browse/trunk/samples/sample2_unittest.cc) shows a more complex unit test for a class with multiple member functions.
7 | * [Sample #3](http://code.google.com/p/googletest/source/browse/trunk/samples/sample3_unittest.cc) uses a test fixture.
8 | * [Sample #4](http://code.google.com/p/googletest/source/browse/trunk/samples/sample4_unittest.cc) is another basic example of using Google Test.
9 | * [Sample #5](http://code.google.com/p/googletest/source/browse/trunk/samples/sample5_unittest.cc) teaches how to reuse a test fixture in multiple test cases by deriving sub-fixtures from it.
10 | * [Sample #6](http://code.google.com/p/googletest/source/browse/trunk/samples/sample6_unittest.cc) demonstrates type-parameterized tests.
11 | * [Sample #7](http://code.google.com/p/googletest/source/browse/trunk/samples/sample7_unittest.cc) teaches the basics of value-parameterized tests.
12 | * [Sample #8](http://code.google.com/p/googletest/source/browse/trunk/samples/sample8_unittest.cc) shows using `Combine()` in value-parameterized tests.
13 | * [Sample #9](http://code.google.com/p/googletest/source/browse/trunk/samples/sample9_unittest.cc) shows use of the listener API to modify Google Test's console output and the use of its reflection API to inspect test results.
14 | * [Sample #10](http://code.google.com/p/googletest/source/browse/trunk/samples/sample10_unittest.cc) shows use of the listener API to implement a primitive memory leak checker.
--------------------------------------------------------------------------------
/tests/googletest/googletest/docs/V1_7_Samples.md:
--------------------------------------------------------------------------------
1 | If you're like us, you'd like to look at some Google Test sample code. The
2 | [samples folder](http://code.google.com/p/googletest/source/browse/#svn/trunk/samples) has a number of well-commented samples showing how to use a
3 | variety of Google Test features.
4 |
5 | * [Sample #1](http://code.google.com/p/googletest/source/browse/trunk/samples/sample1_unittest.cc) shows the basic steps of using Google Test to test C++ functions.
6 | * [Sample #2](http://code.google.com/p/googletest/source/browse/trunk/samples/sample2_unittest.cc) shows a more complex unit test for a class with multiple member functions.
7 | * [Sample #3](http://code.google.com/p/googletest/source/browse/trunk/samples/sample3_unittest.cc) uses a test fixture.
8 | * [Sample #4](http://code.google.com/p/googletest/source/browse/trunk/samples/sample4_unittest.cc) is another basic example of using Google Test.
9 | * [Sample #5](http://code.google.com/p/googletest/source/browse/trunk/samples/sample5_unittest.cc) teaches how to reuse a test fixture in multiple test cases by deriving sub-fixtures from it.
10 | * [Sample #6](http://code.google.com/p/googletest/source/browse/trunk/samples/sample6_unittest.cc) demonstrates type-parameterized tests.
11 | * [Sample #7](http://code.google.com/p/googletest/source/browse/trunk/samples/sample7_unittest.cc) teaches the basics of value-parameterized tests.
12 | * [Sample #8](http://code.google.com/p/googletest/source/browse/trunk/samples/sample8_unittest.cc) shows using `Combine()` in value-parameterized tests.
13 | * [Sample #9](http://code.google.com/p/googletest/source/browse/trunk/samples/sample9_unittest.cc) shows use of the listener API to modify Google Test's console output and the use of its reflection API to inspect test results.
14 | * [Sample #10](http://code.google.com/p/googletest/source/browse/trunk/samples/sample10_unittest.cc) shows use of the listener API to implement a primitive memory leak checker.
--------------------------------------------------------------------------------
/tests/googletest/googletest/codegear/gtest_all.cc:
--------------------------------------------------------------------------------
1 | // Copyright 2009, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Author: Josh Kelley (joshkel@gmail.com)
31 | //
32 | // Google C++ Testing Framework (Google Test)
33 | //
34 | // C++Builder's IDE cannot build a static library from files with hyphens
35 | // in their name. See http://qc.codegear.com/wc/qcmain.aspx?d=70977 .
36 | // This file serves as a workaround.
37 |
38 | #include "src/gtest-all.cc"
39 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/test/gtest_main_unittest.cc:
--------------------------------------------------------------------------------
1 | // Copyright 2006, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Author: wan@google.com (Zhanyong Wan)
31 |
32 | #include "gtest/gtest.h"
33 |
34 | // Tests that we don't have to define main() when we link to
35 | // gtest_main instead of gtest.
36 |
37 | namespace {
38 |
39 | TEST(GTestMainTest, ShouldSucceed) {
40 | }
41 |
42 | } // namespace
43 |
44 | // We are using the main() function defined in src/gtest_main.cc, so
45 | // we don't define it here.
46 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/samples/sample4_unittest.cc:
--------------------------------------------------------------------------------
1 | // Copyright 2005, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Author: wan@google.com (Zhanyong Wan)
31 |
32 | #include "gtest/gtest.h"
33 | #include "sample4.h"
34 |
35 | // Tests the Increment() method.
36 | TEST(Counter, Increment) {
37 | Counter c;
38 |
39 | // EXPECT_EQ() evaluates its arguments exactly once, so they
40 | // can have side effects.
41 |
42 | EXPECT_EQ(0, c.Increment());
43 | EXPECT_EQ(1, c.Increment());
44 | EXPECT_EQ(2, c.Increment());
45 | }
46 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/samples/sample1.h:
--------------------------------------------------------------------------------
1 | // Copyright 2005, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 |
30 | // A sample program demonstrating using Google C++ testing framework.
31 | //
32 | // Author: wan@google.com (Zhanyong Wan)
33 |
34 | #ifndef GTEST_SAMPLES_SAMPLE1_H_
35 | #define GTEST_SAMPLES_SAMPLE1_H_
36 |
37 | // Returns n! (the factorial of n). For negative n, n! is defined to be 1.
38 | int Factorial(int n);
39 |
40 | // Returns true iff n is a prime number.
41 | bool IsPrime(int n);
42 |
43 | #endif // GTEST_SAMPLES_SAMPLE1_H_
44 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/test/gtest_uninitialized_test_.cc:
--------------------------------------------------------------------------------
1 | // Copyright 2008, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Author: wan@google.com (Zhanyong Wan)
31 |
32 | #include "gtest/gtest.h"
33 |
34 | TEST(DummyTest, Dummy) {
35 | // This test doesn't verify anything. We just need it to create a
36 | // realistic stage for testing the behavior of Google Test when
37 | // RUN_ALL_TESTS() is called without testing::InitGoogleTest() being
38 | // called first.
39 | }
40 |
41 | int main() {
42 | return RUN_ALL_TESTS();
43 | }
44 |
--------------------------------------------------------------------------------
/tests/googletest/googlemock/test/gmock_link_test.cc:
--------------------------------------------------------------------------------
1 | // Copyright 2008, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Author: wan@google.com (Zhanyong Wan), vladl@google.com (Vlad Losev)
31 |
32 | // Google Mock - a framework for writing C++ mock classes.
33 | //
34 | // This file is for verifying that various Google Mock constructs do not
35 | // produce linker errors when instantiated in different translation units.
36 | // Please see gmock_link_test.h for details.
37 |
38 | #define LinkTest LinkTest1
39 |
40 | #include "test/gmock_link_test.h"
41 |
--------------------------------------------------------------------------------
/tests/googletest/googlemock/test/gmock_link2_test.cc:
--------------------------------------------------------------------------------
1 | // Copyright 2008, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Author: wan@google.com (Zhanyong Wan), vladl@google.com (Vlad Losev)
31 |
32 | // Google Mock - a framework for writing C++ mock classes.
33 | //
34 | // This file is for verifying that various Google Mock constructs do not
35 | // produce linker errors when instantiated in different translation units.
36 | // Please see gmock_link_test.h for details.
37 |
38 | #define LinkTest LinkTest2
39 |
40 | #include "test/gmock_link_test.h"
41 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/samples/sample4.cc:
--------------------------------------------------------------------------------
1 | // Copyright 2005, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 |
30 | // A sample program demonstrating using Google C++ testing framework.
31 | //
32 | // Author: wan@google.com (Zhanyong Wan)
33 |
34 | #include
35 |
36 | #include "sample4.h"
37 |
38 | // Returns the current counter value, and increments it.
39 | int Counter::Increment() {
40 | return counter_++;
41 | }
42 |
43 | // Prints the current counter value to STDOUT.
44 | void Counter::Print() const {
45 | printf("%d", counter_);
46 | }
47 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/include/gtest/internal/custom/gtest.h:
--------------------------------------------------------------------------------
1 | // Copyright 2015, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Injection point for custom user configurations.
31 | // The following macros can be defined:
32 | //
33 | // GTEST_OS_STACK_TRACE_GETTER_ - The name of an implementation of
34 | // OsStackTraceGetterInterface.
35 | //
36 | // ** Custom implementation starts here **
37 |
38 | #ifndef GTEST_INCLUDE_GTEST_INTERNAL_CUSTOM_GTEST_H_
39 | #define GTEST_INCLUDE_GTEST_INTERNAL_CUSTOM_GTEST_H_
40 |
41 | #endif // GTEST_INCLUDE_GTEST_INTERNAL_CUSTOM_GTEST_H_
42 |
--------------------------------------------------------------------------------
/tests/googletest/googlemock/include/gmock/internal/custom/gmock-matchers.h:
--------------------------------------------------------------------------------
1 | // Copyright 2015, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // ============================================================
31 | // An installation-specific extension point for gmock-matchers.h.
32 | // ============================================================
33 | //
34 | // Adds google3 callback support to CallableTraits.
35 | //
36 | #ifndef GMOCK_INCLUDE_GMOCK_INTERNAL_CUSTOM_CALLBACK_MATCHERS_H_
37 | #define GMOCK_INCLUDE_GMOCK_INTERNAL_CUSTOM_CALLBACK_MATCHERS_H_
38 |
39 | #endif // GMOCK_INCLUDE_GMOCK_INTERNAL_CUSTOM_CALLBACK_MATCHERS_H_
40 |
--------------------------------------------------------------------------------
/tests/googletest/googlemock/test/gmock-port_test.cc:
--------------------------------------------------------------------------------
1 | // Copyright 2008, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Author: vladl@google.com (Vlad Losev)
31 |
32 | // Google Mock - a framework for writing C++ mock classes.
33 | //
34 | // This file tests the internal cross-platform support utilities.
35 |
36 | #include "gmock/internal/gmock-port.h"
37 | #include "gtest/gtest.h"
38 |
39 | // NOTE: if this file is left without tests for some reason, put a dummy
40 | // test here to make references to symbols in the gtest library and avoid
41 | // 'undefined symbol' linker errors in gmock_main:
42 |
43 | TEST(DummyTest, Dummy) {}
44 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/codegear/gtest_link.cc:
--------------------------------------------------------------------------------
1 | // Copyright 2009, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Author: Josh Kelley (joshkel@gmail.com)
31 | //
32 | // Google C++ Testing Framework (Google Test)
33 | //
34 | // Links gtest.lib and gtest_main.lib into the current project in C++Builder.
35 | // This means that these libraries can't be renamed, but it's the only way to
36 | // ensure that Debug versus Release test builds are linked against the
37 | // appropriate Debug or Release build of the libraries.
38 |
39 | #pragma link "gtest.lib"
40 | #pragma link "gtest_main.lib"
41 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/test/gtest_xml_outfile1_test_.cc:
--------------------------------------------------------------------------------
1 | // Copyright 2008, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Author: keith.ray@gmail.com (Keith Ray)
31 | //
32 | // gtest_xml_outfile1_test_ writes some xml via TestProperty used by
33 | // gtest_xml_outfiles_test.py
34 |
35 | #include "gtest/gtest.h"
36 |
37 | class PropertyOne : public testing::Test {
38 | protected:
39 | virtual void SetUp() {
40 | RecordProperty("SetUpProp", 1);
41 | }
42 | virtual void TearDown() {
43 | RecordProperty("TearDownProp", 1);
44 | }
45 | };
46 |
47 | TEST_F(PropertyOne, TestSomeProperties) {
48 | RecordProperty("TestSomeProperty", 1);
49 | }
50 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/test/gtest_xml_outfile2_test_.cc:
--------------------------------------------------------------------------------
1 | // Copyright 2008, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Author: keith.ray@gmail.com (Keith Ray)
31 | //
32 | // gtest_xml_outfile2_test_ writes some xml via TestProperty used by
33 | // gtest_xml_outfiles_test.py
34 |
35 | #include "gtest/gtest.h"
36 |
37 | class PropertyTwo : public testing::Test {
38 | protected:
39 | virtual void SetUp() {
40 | RecordProperty("SetUpProp", 2);
41 | }
42 | virtual void TearDown() {
43 | RecordProperty("TearDownProp", 2);
44 | }
45 | };
46 |
47 | TEST_F(PropertyTwo, TestSomeProperties) {
48 | RecordProperty("TestSomeProperty", 2);
49 | }
50 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/test/gtest-typed-test2_test.cc:
--------------------------------------------------------------------------------
1 | // Copyright 2008 Google Inc.
2 | // All Rights Reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Author: wan@google.com (Zhanyong Wan)
31 |
32 | #include
33 |
34 | #include "test/gtest-typed-test_test.h"
35 | #include "gtest/gtest.h"
36 |
37 | #if GTEST_HAS_TYPED_TEST_P
38 |
39 | // Tests that the same type-parameterized test case can be
40 | // instantiated in different translation units linked together.
41 | // (ContainerTest is also instantiated in gtest-typed-test_test.cc.)
42 | INSTANTIATE_TYPED_TEST_CASE_P(Vector, ContainerTest,
43 | testing::Types >);
44 |
45 | #endif // GTEST_HAS_TYPED_TEST_P
46 |
--------------------------------------------------------------------------------
/tests/googletest/googlemock/scripts/generator/cpp/keywords.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | #
3 | # Copyright 2007 Neal Norwitz
4 | # Portions Copyright 2007 Google Inc.
5 | #
6 | # Licensed under the Apache License, Version 2.0 (the "License");
7 | # you may not use this file except in compliance with the License.
8 | # You may obtain a copy of the License at
9 | #
10 | # http://www.apache.org/licenses/LICENSE-2.0
11 | #
12 | # Unless required by applicable law or agreed to in writing, software
13 | # distributed under the License is distributed on an "AS IS" BASIS,
14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | # See the License for the specific language governing permissions and
16 | # limitations under the License.
17 |
18 | """C++ keywords and helper utilities for determining keywords."""
19 |
20 | __author__ = 'nnorwitz@google.com (Neal Norwitz)'
21 |
22 |
23 | try:
24 | # Python 3.x
25 | import builtins
26 | except ImportError:
27 | # Python 2.x
28 | import __builtin__ as builtins
29 |
30 |
31 | if not hasattr(builtins, 'set'):
32 | # Nominal support for Python 2.3.
33 | from sets import Set as set
34 |
35 |
36 | TYPES = set('bool char int long short double float void wchar_t unsigned signed'.split())
37 | TYPE_MODIFIERS = set('auto register const inline extern static virtual volatile mutable'.split())
38 | ACCESS = set('public protected private friend'.split())
39 |
40 | CASTS = set('static_cast const_cast dynamic_cast reinterpret_cast'.split())
41 |
42 | OTHERS = set('true false asm class namespace using explicit this operator sizeof'.split())
43 | OTHER_TYPES = set('new delete typedef struct union enum typeid typename template'.split())
44 |
45 | CONTROL = set('case switch default if else return goto'.split())
46 | EXCEPTION = set('try catch throw'.split())
47 | LOOP = set('while do for break continue'.split())
48 |
49 | ALL = TYPES | TYPE_MODIFIERS | ACCESS | CASTS | OTHERS | OTHER_TYPES | CONTROL | EXCEPTION | LOOP
50 |
51 |
52 | def IsKeyword(token):
53 | return token in ALL
54 |
55 | def IsBuiltinType(token):
56 | if token in ('virtual', 'inline'):
57 | # These only apply to methods, they can't be types by themselves.
58 | return False
59 | return token in TYPES or token in TYPE_MODIFIERS
60 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/codegear/gtest.groupproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | {c1d923e0-6cba-4332-9b6f-3420acbf5091}
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | Default.Personality
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/include/gtest/internal/custom/gtest-printers.h:
--------------------------------------------------------------------------------
1 | // Copyright 2015, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // This file provides an injection point for custom printers in a local
31 | // installation of gTest.
32 | // It will be included from gtest-printers.h and the overrides in this file
33 | // will be visible to everyone.
34 | // See documentation at gtest/gtest-printers.h for details on how to define a
35 | // custom printer.
36 | //
37 | // ** Custom implementation starts here **
38 |
39 | #ifndef GTEST_INCLUDE_GTEST_INTERNAL_CUSTOM_GTEST_PRINTERS_H_
40 | #define GTEST_INCLUDE_GTEST_INTERNAL_CUSTOM_GTEST_PRINTERS_H_
41 |
42 | #endif // GTEST_INCLUDE_GTEST_INTERNAL_CUSTOM_GTEST_PRINTERS_H_
43 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/samples/sample4.h:
--------------------------------------------------------------------------------
1 | // Copyright 2005, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 |
30 | // A sample program demonstrating using Google C++ testing framework.
31 | //
32 | // Author: wan@google.com (Zhanyong Wan)
33 |
34 | #ifndef GTEST_SAMPLES_SAMPLE4_H_
35 | #define GTEST_SAMPLES_SAMPLE4_H_
36 |
37 | // A simple monotonic counter.
38 | class Counter {
39 | private:
40 | int counter_;
41 |
42 | public:
43 | // Creates a counter that starts at 0.
44 | Counter() : counter_(0) {}
45 |
46 | // Returns the current counter value, and increments it.
47 | int Increment();
48 |
49 | // Prints the current counter value to STDOUT.
50 | void Print() const;
51 | };
52 |
53 | #endif // GTEST_SAMPLES_SAMPLE4_H_
54 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/test/gtest_help_test_.cc:
--------------------------------------------------------------------------------
1 | // Copyright 2009, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Author: wan@google.com (Zhanyong Wan)
31 |
32 | // This program is meant to be run by gtest_help_test.py. Do not run
33 | // it directly.
34 |
35 | #include "gtest/gtest.h"
36 |
37 | // When a help flag is specified, this program should skip the tests
38 | // and exit with 0; otherwise the following test will be executed,
39 | // causing this program to exit with a non-zero code.
40 | TEST(HelpFlagTest, ShouldNotBeRun) {
41 | ASSERT_TRUE(false) << "Tests shouldn't be run when --help is specified.";
42 | }
43 |
44 | #if GTEST_HAS_DEATH_TEST
45 | TEST(DeathTest, UsedByPythonScriptToDetectSupportForDeathTestsInThisBinary) {}
46 | #endif
47 |
--------------------------------------------------------------------------------
/tests/googletest/googlemock/src/gmock-all.cc:
--------------------------------------------------------------------------------
1 | // Copyright 2008, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Author: wan@google.com (Zhanyong Wan)
31 | //
32 | // Google C++ Mocking Framework (Google Mock)
33 | //
34 | // This file #includes all Google Mock implementation .cc files. The
35 | // purpose is to allow a user to build Google Mock by compiling this
36 | // file alone.
37 |
38 | // This line ensures that gmock.h can be compiled on its own, even
39 | // when it's fused.
40 | #include "gmock/gmock.h"
41 |
42 | // The following lines pull in the real gmock *.cc files.
43 | #include "src/gmock-cardinalities.cc"
44 | #include "src/gmock-internal-utils.cc"
45 | #include "src/gmock-matchers.cc"
46 | #include "src/gmock-spec-builders.cc"
47 | #include "src/gmock.cc"
48 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/src/gtest-all.cc:
--------------------------------------------------------------------------------
1 | // Copyright 2008, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Author: mheule@google.com (Markus Heule)
31 | //
32 | // Google C++ Testing Framework (Google Test)
33 | //
34 | // Sometimes it's desirable to build Google Test by compiling a single file.
35 | // This file serves this purpose.
36 |
37 | // This line ensures that gtest.h can be compiled on its own, even
38 | // when it's fused.
39 | #include "gtest/gtest.h"
40 |
41 | // The following lines pull in the real gtest *.cc files.
42 | #include "src/gtest.cc"
43 | #include "src/gtest-death-test.cc"
44 | #include "src/gtest-filepath.cc"
45 | #include "src/gtest-port.cc"
46 | #include "src/gtest-printers.cc"
47 | #include "src/gtest-test-part.cc"
48 | #include "src/gtest-typed-test.cc"
49 |
--------------------------------------------------------------------------------
/tests/googletest/googlemock/include/gmock/internal/custom/gmock-port.h:
--------------------------------------------------------------------------------
1 | // Copyright 2015, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Injection point for custom user configurations.
31 | // The following macros can be defined:
32 | //
33 | // Flag related macros:
34 | // GMOCK_DECLARE_bool_(name)
35 | // GMOCK_DECLARE_int32_(name)
36 | // GMOCK_DECLARE_string_(name)
37 | // GMOCK_DEFINE_bool_(name, default_val, doc)
38 | // GMOCK_DEFINE_int32_(name, default_val, doc)
39 | // GMOCK_DEFINE_string_(name, default_val, doc)
40 | //
41 | // ** Custom implementation starts here **
42 |
43 | #ifndef GMOCK_INCLUDE_GMOCK_INTERNAL_CUSTOM_GMOCK_PORT_H_
44 | #define GMOCK_INCLUDE_GMOCK_INTERNAL_CUSTOM_GMOCK_PORT_H_
45 |
46 | #endif // GMOCK_INCLUDE_GMOCK_INTERNAL_CUSTOM_GMOCK_PORT_H_
47 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/test/production.h:
--------------------------------------------------------------------------------
1 | // Copyright 2006, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Author: wan@google.com (Zhanyong Wan)
31 | //
32 | // This is part of the unit test for include/gtest/gtest_prod.h.
33 |
34 | #ifndef GTEST_TEST_PRODUCTION_H_
35 | #define GTEST_TEST_PRODUCTION_H_
36 |
37 | #include "gtest/gtest_prod.h"
38 |
39 | class PrivateCode {
40 | public:
41 | // Declares a friend test that does not use a fixture.
42 | FRIEND_TEST(PrivateCodeTest, CanAccessPrivateMembers);
43 |
44 | // Declares a friend test that uses a fixture.
45 | FRIEND_TEST(PrivateCodeFixtureTest, CanAccessPrivateMembers);
46 |
47 | PrivateCode();
48 |
49 | int x() const { return x_; }
50 | private:
51 | void set_x(int an_x) { x_ = an_x; }
52 | int x_;
53 | };
54 |
55 | #endif // GTEST_TEST_PRODUCTION_H_
56 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/test/gtest_all_test.cc:
--------------------------------------------------------------------------------
1 | // Copyright 2009, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Author: wan@google.com (Zhanyong Wan)
31 | //
32 | // Tests for Google C++ Testing Framework (Google Test)
33 | //
34 | // Sometimes it's desirable to build most of Google Test's own tests
35 | // by compiling a single file. This file serves this purpose.
36 | #include "test/gtest-filepath_test.cc"
37 | #include "test/gtest-linked_ptr_test.cc"
38 | #include "test/gtest-message_test.cc"
39 | #include "test/gtest-options_test.cc"
40 | #include "test/gtest-port_test.cc"
41 | #include "test/gtest_pred_impl_unittest.cc"
42 | #include "test/gtest_prod_test.cc"
43 | #include "test/gtest-test-part_test.cc"
44 | #include "test/gtest-typed-test_test.cc"
45 | #include "test/gtest-typed-test2_test.cc"
46 | #include "test/gtest_unittest.cc"
47 | #include "test/production.cc"
48 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/test/gtest_prod_test.cc:
--------------------------------------------------------------------------------
1 | // Copyright 2006, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Author: wan@google.com (Zhanyong Wan)
31 | //
32 | // Unit test for include/gtest/gtest_prod.h.
33 |
34 | #include "gtest/gtest.h"
35 | #include "test/production.h"
36 |
37 | // Tests that private members can be accessed from a TEST declared as
38 | // a friend of the class.
39 | TEST(PrivateCodeTest, CanAccessPrivateMembers) {
40 | PrivateCode a;
41 | EXPECT_EQ(0, a.x_);
42 |
43 | a.set_x(1);
44 | EXPECT_EQ(1, a.x_);
45 | }
46 |
47 | typedef testing::Test PrivateCodeFixtureTest;
48 |
49 | // Tests that private members can be accessed from a TEST_F declared
50 | // as a friend of the class.
51 | TEST_F(PrivateCodeFixtureTest, CanAccessPrivateMembers) {
52 | PrivateCode a;
53 | EXPECT_EQ(0, a.x_);
54 |
55 | a.set_x(2);
56 | EXPECT_EQ(2, a.x_);
57 | }
58 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/test/gtest_sole_header_test.cc:
--------------------------------------------------------------------------------
1 | // Copyright 2008, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Author: mheule@google.com (Markus Heule)
31 | //
32 | // This test verifies that it's possible to use Google Test by including
33 | // the gtest.h header file alone.
34 |
35 | #include "gtest/gtest.h"
36 |
37 | namespace {
38 |
39 | void Subroutine() {
40 | EXPECT_EQ(42, 42);
41 | }
42 |
43 | TEST(NoFatalFailureTest, ExpectNoFatalFailure) {
44 | EXPECT_NO_FATAL_FAILURE(;);
45 | EXPECT_NO_FATAL_FAILURE(SUCCEED());
46 | EXPECT_NO_FATAL_FAILURE(Subroutine());
47 | EXPECT_NO_FATAL_FAILURE({ SUCCEED(); });
48 | }
49 |
50 | TEST(NoFatalFailureTest, AssertNoFatalFailure) {
51 | ASSERT_NO_FATAL_FAILURE(;);
52 | ASSERT_NO_FATAL_FAILURE(SUCCEED());
53 | ASSERT_NO_FATAL_FAILURE(Subroutine());
54 | ASSERT_NO_FATAL_FAILURE({ SUCCEED(); });
55 | }
56 |
57 | } // namespace
58 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/samples/sample2.cc:
--------------------------------------------------------------------------------
1 | // Copyright 2005, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 |
30 | // A sample program demonstrating using Google C++ testing framework.
31 | //
32 | // Author: wan@google.com (Zhanyong Wan)
33 |
34 | #include "sample2.h"
35 |
36 | #include
37 |
38 | // Clones a 0-terminated C string, allocating memory using new.
39 | const char* MyString::CloneCString(const char* a_c_string) {
40 | if (a_c_string == NULL) return NULL;
41 |
42 | const size_t len = strlen(a_c_string);
43 | char* const clone = new char[ len + 1 ];
44 | memcpy(clone, a_c_string, len + 1);
45 |
46 | return clone;
47 | }
48 |
49 | // Sets the 0-terminated C string this MyString object
50 | // represents.
51 | void MyString::Set(const char* a_c_string) {
52 | // Makes sure this works when c_string == c_string_
53 | const char* const temp = MyString::CloneCString(a_c_string);
54 | delete[] c_string_;
55 | c_string_ = temp;
56 | }
57 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/xcode/Samples/FrameworkSample/widget.h:
--------------------------------------------------------------------------------
1 | // Copyright 2008, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Author: preston.a.jackson@gmail.com (Preston Jackson)
31 | //
32 | // Google Test - FrameworkSample
33 | // widget.h
34 | //
35 |
36 | // Widget is a very simple class used for demonstrating the use of gtest. It
37 | // simply stores two values a string and an integer, which are returned via
38 | // public accessors in multiple forms.
39 |
40 | #import
41 |
42 | class Widget {
43 | public:
44 | Widget(int number, const std::string& name);
45 | ~Widget();
46 |
47 | // Public accessors to number data
48 | float GetFloatValue() const;
49 | int GetIntValue() const;
50 |
51 | // Public accessors to the string data
52 | std::string GetStringValue() const;
53 | void GetCharPtrValue(char* buffer, size_t max_size) const;
54 |
55 | private:
56 | // Data members
57 | float number_;
58 | std::string name_;
59 | };
60 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/include/gtest/gtest_prod.h:
--------------------------------------------------------------------------------
1 | // Copyright 2006, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Author: wan@google.com (Zhanyong Wan)
31 | //
32 | // Google C++ Testing Framework definitions useful in production code.
33 |
34 | #ifndef GTEST_INCLUDE_GTEST_GTEST_PROD_H_
35 | #define GTEST_INCLUDE_GTEST_GTEST_PROD_H_
36 |
37 | // When you need to test the private or protected members of a class,
38 | // use the FRIEND_TEST macro to declare your tests as friends of the
39 | // class. For example:
40 | //
41 | // class MyClass {
42 | // private:
43 | // void MyMethod();
44 | // FRIEND_TEST(MyClassTest, MyMethod);
45 | // };
46 | //
47 | // class MyClassTest : public testing::Test {
48 | // // ...
49 | // };
50 | //
51 | // TEST_F(MyClassTest, MyMethod) {
52 | // // Can call MyClass::MyMethod() here.
53 | // }
54 |
55 | #define FRIEND_TEST(test_case_name, test_name)\
56 | friend class test_case_name##_##test_name##_Test
57 |
58 | #endif // GTEST_INCLUDE_GTEST_GTEST_PROD_H_
59 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/test/gtest-param-test_test.h:
--------------------------------------------------------------------------------
1 | // Copyright 2008, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Authors: vladl@google.com (Vlad Losev)
31 | //
32 | // The Google C++ Testing Framework (Google Test)
33 | //
34 | // This header file provides classes and functions used internally
35 | // for testing Google Test itself.
36 |
37 | #ifndef GTEST_TEST_GTEST_PARAM_TEST_TEST_H_
38 | #define GTEST_TEST_GTEST_PARAM_TEST_TEST_H_
39 |
40 | #include "gtest/gtest.h"
41 |
42 | #if GTEST_HAS_PARAM_TEST
43 |
44 | // Test fixture for testing definition and instantiation of a test
45 | // in separate translation units.
46 | class ExternalInstantiationTest : public ::testing::TestWithParam {
47 | };
48 |
49 | // Test fixture for testing instantiation of a test in multiple
50 | // translation units.
51 | class InstantiationInMultipleTranslaionUnitsTest
52 | : public ::testing::TestWithParam {
53 | };
54 |
55 | #endif // GTEST_HAS_PARAM_TEST
56 |
57 | #endif // GTEST_TEST_GTEST_PARAM_TEST_TEST_H_
58 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/xcode/Samples/FrameworkSample/widget.cc:
--------------------------------------------------------------------------------
1 | // Copyright 2008, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Author: preston.a.jackson@gmail.com (Preston Jackson)
31 | //
32 | // Google Test - FrameworkSample
33 | // widget.cc
34 | //
35 |
36 | // Widget is a very simple class used for demonstrating the use of gtest
37 |
38 | #include "widget.h"
39 |
40 | Widget::Widget(int number, const std::string& name)
41 | : number_(number),
42 | name_(name) {}
43 |
44 | Widget::~Widget() {}
45 |
46 | float Widget::GetFloatValue() const {
47 | return number_;
48 | }
49 |
50 | int Widget::GetIntValue() const {
51 | return static_cast(number_);
52 | }
53 |
54 | std::string Widget::GetStringValue() const {
55 | return name_;
56 | }
57 |
58 | void Widget::GetCharPtrValue(char* buffer, size_t max_size) const {
59 | // Copy the char* representation of name_ into buffer, up to max_size.
60 | strncpy(buffer, name_.c_str(), max_size-1);
61 | buffer[max_size-1] = '\0';
62 | return;
63 | }
64 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/msvc/gtest.sln:
--------------------------------------------------------------------------------
1 | Microsoft Visual Studio Solution File, Format Version 8.00
2 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest", "gtest.vcproj", "{C8F6C172-56F2-4E76-B5FA-C3B423B31BE7}"
3 | ProjectSection(ProjectDependencies) = postProject
4 | EndProjectSection
5 | EndProject
6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest_main", "gtest_main.vcproj", "{3AF54C8A-10BF-4332-9147-F68ED9862032}"
7 | ProjectSection(ProjectDependencies) = postProject
8 | EndProjectSection
9 | EndProject
10 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest_unittest", "gtest_unittest.vcproj", "{4D9FDFB5-986A-4139-823C-F4EE0ED481A1}"
11 | ProjectSection(ProjectDependencies) = postProject
12 | EndProjectSection
13 | EndProject
14 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest_prod_test", "gtest_prod_test.vcproj", "{24848551-EF4F-47E8-9A9D-EA4D49BC3ECA}"
15 | ProjectSection(ProjectDependencies) = postProject
16 | EndProjectSection
17 | EndProject
18 | Global
19 | GlobalSection(SolutionConfiguration) = preSolution
20 | Debug = Debug
21 | Release = Release
22 | EndGlobalSection
23 | GlobalSection(ProjectConfiguration) = postSolution
24 | {C8F6C172-56F2-4E76-B5FA-C3B423B31BE7}.Debug.ActiveCfg = Debug|Win32
25 | {C8F6C172-56F2-4E76-B5FA-C3B423B31BE7}.Debug.Build.0 = Debug|Win32
26 | {C8F6C172-56F2-4E76-B5FA-C3B423B31BE7}.Release.ActiveCfg = Release|Win32
27 | {C8F6C172-56F2-4E76-B5FA-C3B423B31BE7}.Release.Build.0 = Release|Win32
28 | {3AF54C8A-10BF-4332-9147-F68ED9862032}.Debug.ActiveCfg = Debug|Win32
29 | {3AF54C8A-10BF-4332-9147-F68ED9862032}.Debug.Build.0 = Debug|Win32
30 | {3AF54C8A-10BF-4332-9147-F68ED9862032}.Release.ActiveCfg = Release|Win32
31 | {3AF54C8A-10BF-4332-9147-F68ED9862032}.Release.Build.0 = Release|Win32
32 | {4D9FDFB5-986A-4139-823C-F4EE0ED481A1}.Debug.ActiveCfg = Debug|Win32
33 | {4D9FDFB5-986A-4139-823C-F4EE0ED481A1}.Debug.Build.0 = Debug|Win32
34 | {4D9FDFB5-986A-4139-823C-F4EE0ED481A1}.Release.ActiveCfg = Release|Win32
35 | {4D9FDFB5-986A-4139-823C-F4EE0ED481A1}.Release.Build.0 = Release|Win32
36 | {24848551-EF4F-47E8-9A9D-EA4D49BC3ECA}.Debug.ActiveCfg = Debug|Win32
37 | {24848551-EF4F-47E8-9A9D-EA4D49BC3ECA}.Debug.Build.0 = Debug|Win32
38 | {24848551-EF4F-47E8-9A9D-EA4D49BC3ECA}.Release.ActiveCfg = Release|Win32
39 | {24848551-EF4F-47E8-9A9D-EA4D49BC3ECA}.Release.Build.0 = Release|Win32
40 | EndGlobalSection
41 | GlobalSection(ExtensibilityGlobals) = postSolution
42 | EndGlobalSection
43 | GlobalSection(ExtensibilityAddIns) = postSolution
44 | EndGlobalSection
45 | EndGlobal
46 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/msvc/gtest-md.sln:
--------------------------------------------------------------------------------
1 | Microsoft Visual Studio Solution File, Format Version 8.00
2 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest-md", "gtest-md.vcproj", "{C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}"
3 | ProjectSection(ProjectDependencies) = postProject
4 | EndProjectSection
5 | EndProject
6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest_main-md", "gtest_main-md.vcproj", "{3AF54C8A-10BF-4332-9147-F68ED9862033}"
7 | ProjectSection(ProjectDependencies) = postProject
8 | EndProjectSection
9 | EndProject
10 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest_prod_test-md", "gtest_prod_test-md.vcproj", "{24848551-EF4F-47E8-9A9D-EA4D49BC3ECB}"
11 | ProjectSection(ProjectDependencies) = postProject
12 | EndProjectSection
13 | EndProject
14 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest_unittest-md", "gtest_unittest-md.vcproj", "{4D9FDFB5-986A-4139-823C-F4EE0ED481A2}"
15 | ProjectSection(ProjectDependencies) = postProject
16 | EndProjectSection
17 | EndProject
18 | Global
19 | GlobalSection(SolutionConfiguration) = preSolution
20 | Debug = Debug
21 | Release = Release
22 | EndGlobalSection
23 | GlobalSection(ProjectConfiguration) = postSolution
24 | {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Debug.ActiveCfg = Debug|Win32
25 | {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Debug.Build.0 = Debug|Win32
26 | {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Release.ActiveCfg = Release|Win32
27 | {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Release.Build.0 = Release|Win32
28 | {3AF54C8A-10BF-4332-9147-F68ED9862033}.Debug.ActiveCfg = Debug|Win32
29 | {3AF54C8A-10BF-4332-9147-F68ED9862033}.Debug.Build.0 = Debug|Win32
30 | {3AF54C8A-10BF-4332-9147-F68ED9862033}.Release.ActiveCfg = Release|Win32
31 | {3AF54C8A-10BF-4332-9147-F68ED9862033}.Release.Build.0 = Release|Win32
32 | {24848551-EF4F-47E8-9A9D-EA4D49BC3ECB}.Debug.ActiveCfg = Debug|Win32
33 | {24848551-EF4F-47E8-9A9D-EA4D49BC3ECB}.Debug.Build.0 = Debug|Win32
34 | {24848551-EF4F-47E8-9A9D-EA4D49BC3ECB}.Release.ActiveCfg = Release|Win32
35 | {24848551-EF4F-47E8-9A9D-EA4D49BC3ECB}.Release.Build.0 = Release|Win32
36 | {4D9FDFB5-986A-4139-823C-F4EE0ED481A2}.Debug.ActiveCfg = Debug|Win32
37 | {4D9FDFB5-986A-4139-823C-F4EE0ED481A2}.Debug.Build.0 = Debug|Win32
38 | {4D9FDFB5-986A-4139-823C-F4EE0ED481A2}.Release.ActiveCfg = Release|Win32
39 | {4D9FDFB5-986A-4139-823C-F4EE0ED481A2}.Release.Build.0 = Release|Win32
40 | EndGlobalSection
41 | GlobalSection(ExtensibilityGlobals) = postSolution
42 | EndGlobalSection
43 | GlobalSection(ExtensibilityAddIns) = postSolution
44 | EndGlobalSection
45 | EndGlobal
46 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/xcode/Samples/FrameworkSample/runtests.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # Copyright 2008, Google Inc.
4 | # All rights reserved.
5 | #
6 | # Redistribution and use in source and binary forms, with or without
7 | # modification, are permitted provided that the following conditions are
8 | # met:
9 | #
10 | # * Redistributions of source code must retain the above copyright
11 | # notice, this list of conditions and the following disclaimer.
12 | # * Redistributions in binary form must reproduce the above
13 | # copyright notice, this list of conditions and the following disclaimer
14 | # in the documentation and/or other materials provided with the
15 | # distribution.
16 | # * Neither the name of Google Inc. nor the names of its
17 | # contributors may be used to endorse or promote products derived from
18 | # this software without specific prior written permission.
19 | #
20 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | # Executes the samples and tests for the Google Test Framework.
33 |
34 | # Help the dynamic linker find the path to the libraries.
35 | export DYLD_FRAMEWORK_PATH=$BUILT_PRODUCTS_DIR
36 | export DYLD_LIBRARY_PATH=$BUILT_PRODUCTS_DIR
37 |
38 | # Create some executables.
39 | test_executables=$@
40 |
41 | # Now execute each one in turn keeping track of how many succeeded and failed.
42 | succeeded=0
43 | failed=0
44 | failed_list=()
45 | for test in ${test_executables[*]}; do
46 | "$test"
47 | result=$?
48 | if [ $result -eq 0 ]; then
49 | succeeded=$(( $succeeded + 1 ))
50 | else
51 | failed=$(( failed + 1 ))
52 | failed_list="$failed_list $test"
53 | fi
54 | done
55 |
56 | # Report the successes and failures to the console.
57 | echo "Tests complete with $succeeded successes and $failed failures."
58 | if [ $failed -ne 0 ]; then
59 | echo "The following tests failed:"
60 | echo $failed_list
61 | fi
62 | exit $failed
63 |
--------------------------------------------------------------------------------
/tests/googletest/googlemock/include/gmock/gmock-more-matchers.h:
--------------------------------------------------------------------------------
1 | // Copyright 2013, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Author: marcus.boerger@google.com (Marcus Boerger)
31 |
32 | // Google Mock - a framework for writing C++ mock classes.
33 | //
34 | // This file implements some matchers that depend on gmock-generated-matchers.h.
35 | //
36 | // Note that tests are implemented in gmock-matchers_test.cc rather than
37 | // gmock-more-matchers-test.cc.
38 |
39 | #ifndef GMOCK_GMOCK_MORE_MATCHERS_H_
40 | #define GMOCK_GMOCK_MORE_MATCHERS_H_
41 |
42 | #include "gmock/gmock-generated-matchers.h"
43 |
44 | namespace testing {
45 |
46 | // Defines a matcher that matches an empty container. The container must
47 | // support both size() and empty(), which all STL-like containers provide.
48 | MATCHER(IsEmpty, negation ? "isn't empty" : "is empty") {
49 | if (arg.empty()) {
50 | return true;
51 | }
52 | *result_listener << "whose size is " << arg.size();
53 | return false;
54 | }
55 |
56 | } // namespace testing
57 |
58 | #endif // GMOCK_GMOCK_MORE_MATCHERS_H_
59 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/test/gtest_no_test_unittest.cc:
--------------------------------------------------------------------------------
1 | // Copyright 2006, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 |
30 | // Tests that a Google Test program that has no test defined can run
31 | // successfully.
32 | //
33 | // Author: wan@google.com (Zhanyong Wan)
34 |
35 | #include "gtest/gtest.h"
36 |
37 | int main(int argc, char **argv) {
38 | testing::InitGoogleTest(&argc, argv);
39 |
40 | // An ad-hoc assertion outside of all tests.
41 | //
42 | // This serves three purposes:
43 | //
44 | // 1. It verifies that an ad-hoc assertion can be executed even if
45 | // no test is defined.
46 | // 2. It verifies that a failed ad-hoc assertion causes the test
47 | // program to fail.
48 | // 3. We had a bug where the XML output won't be generated if an
49 | // assertion is executed before RUN_ALL_TESTS() is called, even
50 | // though --gtest_output=xml is specified. This makes sure the
51 | // bug is fixed and doesn't regress.
52 | EXPECT_EQ(1, 2);
53 |
54 | // The above EXPECT_EQ() should cause RUN_ALL_TESTS() to return non-zero.
55 | return RUN_ALL_TESTS() ? 0 : 1;
56 | }
57 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/test/gtest-typed-test_test.h:
--------------------------------------------------------------------------------
1 | // Copyright 2008 Google Inc.
2 | // All Rights Reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Author: wan@google.com (Zhanyong Wan)
31 |
32 | #ifndef GTEST_TEST_GTEST_TYPED_TEST_TEST_H_
33 | #define GTEST_TEST_GTEST_TYPED_TEST_TEST_H_
34 |
35 | #include "gtest/gtest.h"
36 |
37 | #if GTEST_HAS_TYPED_TEST_P
38 |
39 | using testing::Test;
40 |
41 | // For testing that the same type-parameterized test case can be
42 | // instantiated in different translation units linked together.
43 | // ContainerTest will be instantiated in both gtest-typed-test_test.cc
44 | // and gtest-typed-test2_test.cc.
45 |
46 | template
47 | class ContainerTest : public Test {
48 | };
49 |
50 | TYPED_TEST_CASE_P(ContainerTest);
51 |
52 | TYPED_TEST_P(ContainerTest, CanBeDefaultConstructed) {
53 | TypeParam container;
54 | }
55 |
56 | TYPED_TEST_P(ContainerTest, InitialSizeIsZero) {
57 | TypeParam container;
58 | EXPECT_EQ(0U, container.size());
59 | }
60 |
61 | REGISTER_TYPED_TEST_CASE_P(ContainerTest,
62 | CanBeDefaultConstructed, InitialSizeIsZero);
63 |
64 | #endif // GTEST_HAS_TYPED_TEST_P
65 |
66 | #endif // GTEST_TEST_GTEST_TYPED_TEST_TEST_H_
67 |
--------------------------------------------------------------------------------
/tests/googletest/googlemock/test/gmock_all_test.cc:
--------------------------------------------------------------------------------
1 | // Copyright 2009, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Author: wan@google.com (Zhanyong Wan)
31 | //
32 | // Tests for Google C++ Mocking Framework (Google Mock)
33 | //
34 | // Some users use a build system that Google Mock doesn't support directly,
35 | // yet they still want to build and run Google Mock's own tests. This file
36 | // includes most such tests, making it easier for these users to maintain
37 | // their build scripts (they just need to build this file, even though the
38 | // below list of actual *_test.cc files might change).
39 | #include "test/gmock-actions_test.cc"
40 | #include "test/gmock-cardinalities_test.cc"
41 | #include "test/gmock-generated-actions_test.cc"
42 | #include "test/gmock-generated-function-mockers_test.cc"
43 | #include "test/gmock-generated-internal-utils_test.cc"
44 | #include "test/gmock-generated-matchers_test.cc"
45 | #include "test/gmock-internal-utils_test.cc"
46 | #include "test/gmock-matchers_test.cc"
47 | #include "test/gmock-more-actions_test.cc"
48 | #include "test/gmock-nice-strict_test.cc"
49 | #include "test/gmock-port_test.cc"
50 | #include "test/gmock-spec-builders_test.cc"
51 | #include "test/gmock_test.cc"
52 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/samples/sample1.cc:
--------------------------------------------------------------------------------
1 | // Copyright 2005, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 |
30 | // A sample program demonstrating using Google C++ testing framework.
31 | //
32 | // Author: wan@google.com (Zhanyong Wan)
33 |
34 | #include "sample1.h"
35 |
36 | // Returns n! (the factorial of n). For negative n, n! is defined to be 1.
37 | int Factorial(int n) {
38 | int result = 1;
39 | for (int i = 1; i <= n; i++) {
40 | result *= i;
41 | }
42 |
43 | return result;
44 | }
45 |
46 | // Returns true iff n is a prime number.
47 | bool IsPrime(int n) {
48 | // Trivial case 1: small numbers
49 | if (n <= 1) return false;
50 |
51 | // Trivial case 2: even numbers
52 | if (n % 2 == 0) return n == 2;
53 |
54 | // Now, we have that n is odd and n >= 3.
55 |
56 | // Try to divide n by every odd number i, starting from 3
57 | for (int i = 3; ; i += 2) {
58 | // We only have to try i up to the squre root of n
59 | if (i > n/i) break;
60 |
61 | // Now, we have i <= n/i < n.
62 | // If n is divisible by i, n is not prime.
63 | if (n % i == 0) return false;
64 | }
65 |
66 | // n has no integer factor in the range (1, n), and thus is prime.
67 | return true;
68 | }
69 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/test/gtest_uninitialized_test.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | #
3 | # Copyright 2008, Google Inc.
4 | # All rights reserved.
5 | #
6 | # Redistribution and use in source and binary forms, with or without
7 | # modification, are permitted provided that the following conditions are
8 | # met:
9 | #
10 | # * Redistributions of source code must retain the above copyright
11 | # notice, this list of conditions and the following disclaimer.
12 | # * Redistributions in binary form must reproduce the above
13 | # copyright notice, this list of conditions and the following disclaimer
14 | # in the documentation and/or other materials provided with the
15 | # distribution.
16 | # * Neither the name of Google Inc. nor the names of its
17 | # contributors may be used to endorse or promote products derived from
18 | # this software without specific prior written permission.
19 | #
20 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | """Verifies that Google Test warns the user when not initialized properly."""
33 |
34 | __author__ = 'wan@google.com (Zhanyong Wan)'
35 |
36 | import gtest_test_utils
37 |
38 |
39 | COMMAND = gtest_test_utils.GetTestExecutablePath('gtest_uninitialized_test_')
40 |
41 |
42 | def Assert(condition):
43 | if not condition:
44 | raise AssertionError
45 |
46 |
47 | def AssertEq(expected, actual):
48 | if expected != actual:
49 | print 'Expected: %s' % (expected,)
50 | print ' Actual: %s' % (actual,)
51 | raise AssertionError
52 |
53 |
54 | def TestExitCodeAndOutput(command):
55 | """Runs the given command and verifies its exit code and output."""
56 |
57 | # Verifies that 'command' exits with code 1.
58 | p = gtest_test_utils.Subprocess(command)
59 | Assert(p.exited)
60 | AssertEq(1, p.exit_code)
61 | Assert('InitGoogleTest' in p.output)
62 |
63 |
64 | class GTestUninitializedTest(gtest_test_utils.TestCase):
65 | def testExitCodeAndOutput(self):
66 | TestExitCodeAndOutput(COMMAND)
67 |
68 |
69 | if __name__ == '__main__':
70 | gtest_test_utils.Main()
71 |
--------------------------------------------------------------------------------
/tests/googletest/googlemock/src/gmock_main.cc:
--------------------------------------------------------------------------------
1 | // Copyright 2008, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Author: wan@google.com (Zhanyong Wan)
31 |
32 | #include
33 | #include "gmock/gmock.h"
34 | #include "gtest/gtest.h"
35 |
36 | // MS C++ compiler/linker has a bug on Windows (not on Windows CE), which
37 | // causes a link error when _tmain is defined in a static library and UNICODE
38 | // is enabled. For this reason instead of _tmain, main function is used on
39 | // Windows. See the following link to track the current status of this bug:
40 | // http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=394464 // NOLINT
41 | #if GTEST_OS_WINDOWS_MOBILE
42 | # include // NOLINT
43 |
44 | GTEST_API_ int _tmain(int argc, TCHAR** argv) {
45 | #else
46 | GTEST_API_ int main(int argc, char** argv) {
47 | #endif // GTEST_OS_WINDOWS_MOBILE
48 | std::cout << "Running main() from gmock_main.cc\n";
49 | // Since Google Mock depends on Google Test, InitGoogleMock() is
50 | // also responsible for initializing Google Test. Therefore there's
51 | // no need for calling testing::InitGoogleTest() separately.
52 | testing::InitGoogleMock(&argc, argv);
53 | return RUN_ALL_TESTS();
54 | }
55 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/configure.ac:
--------------------------------------------------------------------------------
1 | m4_include(m4/acx_pthread.m4)
2 |
3 | # At this point, the Xcode project assumes the version string will be three
4 | # integers separated by periods and surrounded by square brackets (e.g.
5 | # "[1.0.1]"). It also asumes that there won't be any closing parenthesis
6 | # between "AC_INIT(" and the closing ")" including comments and strings.
7 | AC_INIT([Google C++ Testing Framework],
8 | [1.7.0],
9 | [googletestframework@googlegroups.com],
10 | [gtest])
11 |
12 | # Provide various options to initialize the Autoconf and configure processes.
13 | AC_PREREQ([2.59])
14 | AC_CONFIG_SRCDIR([./LICENSE])
15 | AC_CONFIG_MACRO_DIR([m4])
16 | AC_CONFIG_AUX_DIR([build-aux])
17 | AC_CONFIG_HEADERS([build-aux/config.h])
18 | AC_CONFIG_FILES([Makefile])
19 | AC_CONFIG_FILES([scripts/gtest-config], [chmod +x scripts/gtest-config])
20 |
21 | # Initialize Automake with various options. We require at least v1.9, prevent
22 | # pedantic complaints about package files, and enable various distribution
23 | # targets.
24 | AM_INIT_AUTOMAKE([1.9 dist-bzip2 dist-zip foreign subdir-objects])
25 |
26 | # Check for programs used in building Google Test.
27 | AC_PROG_CC
28 | AC_PROG_CXX
29 | AC_LANG([C++])
30 | AC_PROG_LIBTOOL
31 |
32 | # TODO(chandlerc@google.com): Currently we aren't running the Python tests
33 | # against the interpreter detected by AM_PATH_PYTHON, and so we condition
34 | # HAVE_PYTHON by requiring "python" to be in the PATH, and that interpreter's
35 | # version to be >= 2.3. This will allow the scripts to use a "/usr/bin/env"
36 | # hashbang.
37 | PYTHON= # We *do not* allow the user to specify a python interpreter
38 | AC_PATH_PROG([PYTHON],[python],[:])
39 | AS_IF([test "$PYTHON" != ":"],
40 | [AM_PYTHON_CHECK_VERSION([$PYTHON],[2.3],[:],[PYTHON=":"])])
41 | AM_CONDITIONAL([HAVE_PYTHON],[test "$PYTHON" != ":"])
42 |
43 | # Configure pthreads.
44 | AC_ARG_WITH([pthreads],
45 | [AS_HELP_STRING([--with-pthreads],
46 | [use pthreads (default is yes)])],
47 | [with_pthreads=$withval],
48 | [with_pthreads=check])
49 |
50 | have_pthreads=no
51 | AS_IF([test "x$with_pthreads" != "xno"],
52 | [ACX_PTHREAD(
53 | [],
54 | [AS_IF([test "x$with_pthreads" != "xcheck"],
55 | [AC_MSG_FAILURE(
56 | [--with-pthreads was specified, but unable to be used])])])
57 | have_pthreads="$acx_pthread_ok"])
58 | AM_CONDITIONAL([HAVE_PTHREADS],[test "x$have_pthreads" = "xyes"])
59 | AC_SUBST(PTHREAD_CFLAGS)
60 | AC_SUBST(PTHREAD_LIBS)
61 |
62 | # TODO(chandlerc@google.com) Check for the necessary system headers.
63 |
64 | # TODO(chandlerc@google.com) Check the types, structures, and other compiler
65 | # and architecture characteristics.
66 |
67 | # Output the generated files. No further autoconf macros may be used.
68 | AC_OUTPUT
69 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/xcode/Scripts/runtests.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # Copyright 2008, Google Inc.
4 | # All rights reserved.
5 | #
6 | # Redistribution and use in source and binary forms, with or without
7 | # modification, are permitted provided that the following conditions are
8 | # met:
9 | #
10 | # * Redistributions of source code must retain the above copyright
11 | # notice, this list of conditions and the following disclaimer.
12 | # * Redistributions in binary form must reproduce the above
13 | # copyright notice, this list of conditions and the following disclaimer
14 | # in the documentation and/or other materials provided with the
15 | # distribution.
16 | # * Neither the name of Google Inc. nor the names of its
17 | # contributors may be used to endorse or promote products derived from
18 | # this software without specific prior written permission.
19 | #
20 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | # Executes the samples and tests for the Google Test Framework.
33 |
34 | # Help the dynamic linker find the path to the libraries.
35 | export DYLD_FRAMEWORK_PATH=$BUILT_PRODUCTS_DIR
36 | export DYLD_LIBRARY_PATH=$BUILT_PRODUCTS_DIR
37 |
38 | # Create some executables.
39 | test_executables=("$BUILT_PRODUCTS_DIR/gtest_unittest-framework"
40 | "$BUILT_PRODUCTS_DIR/gtest_unittest"
41 | "$BUILT_PRODUCTS_DIR/sample1_unittest-framework"
42 | "$BUILT_PRODUCTS_DIR/sample1_unittest-static")
43 |
44 | # Now execute each one in turn keeping track of how many succeeded and failed.
45 | succeeded=0
46 | failed=0
47 | failed_list=()
48 | for test in ${test_executables[*]}; do
49 | "$test"
50 | result=$?
51 | if [ $result -eq 0 ]; then
52 | succeeded=$(( $succeeded + 1 ))
53 | else
54 | failed=$(( failed + 1 ))
55 | failed_list="$failed_list $test"
56 | fi
57 | done
58 |
59 | # Report the successes and failures to the console.
60 | echo "Tests complete with $succeeded successes and $failed failures."
61 | if [ $failed -ne 0 ]; then
62 | echo "The following tests failed:"
63 | echo $failed_list
64 | fi
65 | exit $failed
66 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/xcode/Samples/FrameworkSample/widget_test.cc:
--------------------------------------------------------------------------------
1 | // Copyright 2008, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Author: preston.a.jackson@gmail.com (Preston Jackson)
31 | //
32 | // Google Test - FrameworkSample
33 | // widget_test.cc
34 | //
35 |
36 | // This is a simple test file for the Widget class in the Widget.framework
37 |
38 | #include
39 | #include "gtest/gtest.h"
40 |
41 | #include
42 |
43 | // This test verifies that the constructor sets the internal state of the
44 | // Widget class correctly.
45 | TEST(WidgetInitializerTest, TestConstructor) {
46 | Widget widget(1.0f, "name");
47 | EXPECT_FLOAT_EQ(1.0f, widget.GetFloatValue());
48 | EXPECT_EQ(std::string("name"), widget.GetStringValue());
49 | }
50 |
51 | // This test verifies the conversion of the float and string values to int and
52 | // char*, respectively.
53 | TEST(WidgetInitializerTest, TestConversion) {
54 | Widget widget(1.0f, "name");
55 | EXPECT_EQ(1, widget.GetIntValue());
56 |
57 | size_t max_size = 128;
58 | char buffer[max_size];
59 | widget.GetCharPtrValue(buffer, max_size);
60 | EXPECT_STREQ("name", buffer);
61 | }
62 |
63 | // Use the Google Test main that is linked into the framework. It does something
64 | // like this:
65 | // int main(int argc, char** argv) {
66 | // testing::InitGoogleTest(&argc, argv);
67 | // return RUN_ALL_TESTS();
68 | // }
69 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/test/gtest-param-test2_test.cc:
--------------------------------------------------------------------------------
1 | // Copyright 2008, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Author: vladl@google.com (Vlad Losev)
31 | //
32 | // Tests for Google Test itself. This verifies that the basic constructs of
33 | // Google Test work.
34 |
35 | #include "gtest/gtest.h"
36 |
37 | #include "test/gtest-param-test_test.h"
38 |
39 | #if GTEST_HAS_PARAM_TEST
40 |
41 | using ::testing::Values;
42 | using ::testing::internal::ParamGenerator;
43 |
44 | // Tests that generators defined in a different translation unit
45 | // are functional. The test using extern_gen is defined
46 | // in gtest-param-test_test.cc.
47 | ParamGenerator extern_gen = Values(33);
48 |
49 | // Tests that a parameterized test case can be defined in one translation unit
50 | // and instantiated in another. The test is defined in gtest-param-test_test.cc
51 | // and ExternalInstantiationTest fixture class is defined in
52 | // gtest-param-test_test.h.
53 | INSTANTIATE_TEST_CASE_P(MultiplesOf33,
54 | ExternalInstantiationTest,
55 | Values(33, 66));
56 |
57 | // Tests that a parameterized test case can be instantiated
58 | // in multiple translation units. Another instantiation is defined
59 | // in gtest-param-test_test.cc and InstantiationInMultipleTranslaionUnitsTest
60 | // fixture is defined in gtest-param-test_test.h
61 | INSTANTIATE_TEST_CASE_P(Sequence2,
62 | InstantiationInMultipleTranslaionUnitsTest,
63 | Values(42*3, 42*4, 42*5));
64 |
65 | #endif // GTEST_HAS_PARAM_TEST
66 |
--------------------------------------------------------------------------------
/tests/googletest/googlemock/scripts/upload_gmock.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | #
3 | # Copyright 2009, Google Inc.
4 | # All rights reserved.
5 | #
6 | # Redistribution and use in source and binary forms, with or without
7 | # modification, are permitted provided that the following conditions are
8 | # met:
9 | #
10 | # * Redistributions of source code must retain the above copyright
11 | # notice, this list of conditions and the following disclaimer.
12 | # * Redistributions in binary form must reproduce the above
13 | # copyright notice, this list of conditions and the following disclaimer
14 | # in the documentation and/or other materials provided with the
15 | # distribution.
16 | # * Neither the name of Google Inc. nor the names of its
17 | # contributors may be used to endorse or promote products derived from
18 | # this software without specific prior written permission.
19 | #
20 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | """upload_gmock.py v0.1.0 -- uploads a Google Mock patch for review.
33 |
34 | This simple wrapper passes all command line flags and
35 | --cc=googlemock@googlegroups.com to upload.py.
36 |
37 | USAGE: upload_gmock.py [options for upload.py]
38 | """
39 |
40 | __author__ = 'wan@google.com (Zhanyong Wan)'
41 |
42 | import os
43 | import sys
44 |
45 | CC_FLAG = '--cc='
46 | GMOCK_GROUP = 'googlemock@googlegroups.com'
47 |
48 |
49 | def main():
50 | # Finds the path to upload.py, assuming it is in the same directory
51 | # as this file.
52 | my_dir = os.path.dirname(os.path.abspath(__file__))
53 | upload_py_path = os.path.join(my_dir, 'upload.py')
54 |
55 | # Adds Google Mock discussion group to the cc line if it's not there
56 | # already.
57 | upload_py_argv = [upload_py_path]
58 | found_cc_flag = False
59 | for arg in sys.argv[1:]:
60 | if arg.startswith(CC_FLAG):
61 | found_cc_flag = True
62 | cc_line = arg[len(CC_FLAG):]
63 | cc_list = [addr for addr in cc_line.split(',') if addr]
64 | if GMOCK_GROUP not in cc_list:
65 | cc_list.append(GMOCK_GROUP)
66 | upload_py_argv.append(CC_FLAG + ','.join(cc_list))
67 | else:
68 | upload_py_argv.append(arg)
69 |
70 | if not found_cc_flag:
71 | upload_py_argv.append(CC_FLAG + GMOCK_GROUP)
72 |
73 | # Invokes upload.py with the modified command line flags.
74 | os.execv(upload_py_path, upload_py_argv)
75 |
76 |
77 | if __name__ == '__main__':
78 | main()
79 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/scripts/upload_gtest.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | #
3 | # Copyright 2009, Google Inc.
4 | # All rights reserved.
5 | #
6 | # Redistribution and use in source and binary forms, with or without
7 | # modification, are permitted provided that the following conditions are
8 | # met:
9 | #
10 | # * Redistributions of source code must retain the above copyright
11 | # notice, this list of conditions and the following disclaimer.
12 | # * Redistributions in binary form must reproduce the above
13 | # copyright notice, this list of conditions and the following disclaimer
14 | # in the documentation and/or other materials provided with the
15 | # distribution.
16 | # * Neither the name of Google Inc. nor the names of its
17 | # contributors may be used to endorse or promote products derived from
18 | # this software without specific prior written permission.
19 | #
20 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | """upload_gtest.py v0.1.0 -- uploads a Google Test patch for review.
33 |
34 | This simple wrapper passes all command line flags and
35 | --cc=googletestframework@googlegroups.com to upload.py.
36 |
37 | USAGE: upload_gtest.py [options for upload.py]
38 | """
39 |
40 | __author__ = 'wan@google.com (Zhanyong Wan)'
41 |
42 | import os
43 | import sys
44 |
45 | CC_FLAG = '--cc='
46 | GTEST_GROUP = 'googletestframework@googlegroups.com'
47 |
48 |
49 | def main():
50 | # Finds the path to upload.py, assuming it is in the same directory
51 | # as this file.
52 | my_dir = os.path.dirname(os.path.abspath(__file__))
53 | upload_py_path = os.path.join(my_dir, 'upload.py')
54 |
55 | # Adds Google Test discussion group to the cc line if it's not there
56 | # already.
57 | upload_py_argv = [upload_py_path]
58 | found_cc_flag = False
59 | for arg in sys.argv[1:]:
60 | if arg.startswith(CC_FLAG):
61 | found_cc_flag = True
62 | cc_line = arg[len(CC_FLAG):]
63 | cc_list = [addr for addr in cc_line.split(',') if addr]
64 | if GTEST_GROUP not in cc_list:
65 | cc_list.append(GTEST_GROUP)
66 | upload_py_argv.append(CC_FLAG + ','.join(cc_list))
67 | else:
68 | upload_py_argv.append(arg)
69 |
70 | if not found_cc_flag:
71 | upload_py_argv.append(CC_FLAG + GTEST_GROUP)
72 |
73 | # Invokes upload.py with the modified command line flags.
74 | os.execv(upload_py_path, upload_py_argv)
75 |
76 |
77 | if __name__ == '__main__':
78 | main()
79 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/test/gtest_color_test_.cc:
--------------------------------------------------------------------------------
1 | // Copyright 2008, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Author: wan@google.com (Zhanyong Wan)
31 |
32 | // A helper program for testing how Google Test determines whether to use
33 | // colors in the output. It prints "YES" and returns 1 if Google Test
34 | // decides to use colors, and prints "NO" and returns 0 otherwise.
35 |
36 | #include
37 |
38 | #include "gtest/gtest.h"
39 |
40 | // Indicates that this translation unit is part of Google Test's
41 | // implementation. It must come before gtest-internal-inl.h is
42 | // included, or there will be a compiler error. This trick is to
43 | // prevent a user from accidentally including gtest-internal-inl.h in
44 | // his code.
45 | #define GTEST_IMPLEMENTATION_ 1
46 | #include "src/gtest-internal-inl.h"
47 | #undef GTEST_IMPLEMENTATION_
48 |
49 | using testing::internal::ShouldUseColor;
50 |
51 | // The purpose of this is to ensure that the UnitTest singleton is
52 | // created before main() is entered, and thus that ShouldUseColor()
53 | // works the same way as in a real Google-Test-based test. We don't actual
54 | // run the TEST itself.
55 | TEST(GTestColorTest, Dummy) {
56 | }
57 |
58 | int main(int argc, char** argv) {
59 | testing::InitGoogleTest(&argc, argv);
60 |
61 | if (ShouldUseColor(true)) {
62 | // Google Test decides to use colors in the output (assuming it
63 | // goes to a TTY).
64 | printf("YES\n");
65 | return 1;
66 | } else {
67 | // Google Test decides not to use colors in the output.
68 | printf("NO\n");
69 | return 0;
70 | }
71 | }
72 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/scripts/common.py:
--------------------------------------------------------------------------------
1 | # Copyright 2013 Google Inc. All Rights Reserved.
2 | #
3 | # Redistribution and use in source and binary forms, with or without
4 | # modification, are permitted provided that the following conditions are
5 | # met:
6 | #
7 | # * Redistributions of source code must retain the above copyright
8 | # notice, this list of conditions and the following disclaimer.
9 | # * Redistributions in binary form must reproduce the above
10 | # copyright notice, this list of conditions and the following disclaimer
11 | # in the documentation and/or other materials provided with the
12 | # distribution.
13 | # * Neither the name of Google Inc. nor the names of its
14 | # contributors may be used to endorse or promote products derived from
15 | # this software without specific prior written permission.
16 | #
17 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21 | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22 | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23 | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25 | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 |
29 | """Shared utilities for writing scripts for Google Test/Mock."""
30 |
31 | __author__ = 'wan@google.com (Zhanyong Wan)'
32 |
33 |
34 | import os
35 | import re
36 |
37 |
38 | # Matches the line from 'svn info .' output that describes what SVN
39 | # path the current local directory corresponds to. For example, in
40 | # a googletest SVN workspace's trunk/test directory, the output will be:
41 | #
42 | # URL: https://googletest.googlecode.com/svn/trunk/test
43 | _SVN_INFO_URL_RE = re.compile(r'^URL: https://(\w+)\.googlecode\.com/svn(.*)')
44 |
45 |
46 | def GetCommandOutput(command):
47 | """Runs the shell command and returns its stdout as a list of lines."""
48 |
49 | f = os.popen(command, 'r')
50 | lines = [line.strip() for line in f.readlines()]
51 | f.close()
52 | return lines
53 |
54 |
55 | def GetSvnInfo():
56 | """Returns the project name and the current SVN workspace's root path."""
57 |
58 | for line in GetCommandOutput('svn info .'):
59 | m = _SVN_INFO_URL_RE.match(line)
60 | if m:
61 | project = m.group(1) # googletest or googlemock
62 | rel_path = m.group(2)
63 | root = os.path.realpath(rel_path.count('/') * '../')
64 | return project, root
65 |
66 | return None, None
67 |
68 |
69 | def GetSvnTrunk():
70 | """Returns the current SVN workspace's trunk root path."""
71 |
72 | _, root = GetSvnInfo()
73 | return root + '/trunk' if root else None
74 |
75 |
76 | def IsInGTestSvn():
77 | project, _ = GetSvnInfo()
78 | return project == 'googletest'
79 |
80 |
81 | def IsInGMockSvn():
82 | project, _ = GetSvnInfo()
83 | return project == 'googlemock'
84 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/samples/sample2.h:
--------------------------------------------------------------------------------
1 | // Copyright 2005, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 |
30 | // A sample program demonstrating using Google C++ testing framework.
31 | //
32 | // Author: wan@google.com (Zhanyong Wan)
33 |
34 | #ifndef GTEST_SAMPLES_SAMPLE2_H_
35 | #define GTEST_SAMPLES_SAMPLE2_H_
36 |
37 | #include
38 |
39 |
40 | // A simple string class.
41 | class MyString {
42 | private:
43 | const char* c_string_;
44 | const MyString& operator=(const MyString& rhs);
45 |
46 | public:
47 | // Clones a 0-terminated C string, allocating memory using new.
48 | static const char* CloneCString(const char* a_c_string);
49 |
50 | ////////////////////////////////////////////////////////////
51 | //
52 | // C'tors
53 |
54 | // The default c'tor constructs a NULL string.
55 | MyString() : c_string_(NULL) {}
56 |
57 | // Constructs a MyString by cloning a 0-terminated C string.
58 | explicit MyString(const char* a_c_string) : c_string_(NULL) {
59 | Set(a_c_string);
60 | }
61 |
62 | // Copy c'tor
63 | MyString(const MyString& string) : c_string_(NULL) {
64 | Set(string.c_string_);
65 | }
66 |
67 | ////////////////////////////////////////////////////////////
68 | //
69 | // D'tor. MyString is intended to be a final class, so the d'tor
70 | // doesn't need to be virtual.
71 | ~MyString() { delete[] c_string_; }
72 |
73 | // Gets the 0-terminated C string this MyString object represents.
74 | const char* c_string() const { return c_string_; }
75 |
76 | size_t Length() const {
77 | return c_string_ == NULL ? 0 : strlen(c_string_);
78 | }
79 |
80 | // Sets the 0-terminated C string this MyString object represents.
81 | void Set(const char* c_string);
82 | };
83 |
84 |
85 | #endif // GTEST_SAMPLES_SAMPLE2_H_
86 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/test/gtest_throw_on_failure_test_.cc:
--------------------------------------------------------------------------------
1 | // Copyright 2009, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Author: wan@google.com (Zhanyong Wan)
31 |
32 | // Tests Google Test's throw-on-failure mode with exceptions disabled.
33 | //
34 | // This program must be compiled with exceptions disabled. It will be
35 | // invoked by gtest_throw_on_failure_test.py, and is expected to exit
36 | // with non-zero in the throw-on-failure mode or 0 otherwise.
37 |
38 | #include "gtest/gtest.h"
39 |
40 | #include // for fflush, fprintf, NULL, etc.
41 | #include // for exit
42 | #include // for set_terminate
43 |
44 | // This terminate handler aborts the program using exit() rather than abort().
45 | // This avoids showing pop-ups on Windows systems and core dumps on Unix-like
46 | // ones.
47 | void TerminateHandler() {
48 | fprintf(stderr, "%s\n", "Unhandled C++ exception terminating the program.");
49 | fflush(NULL);
50 | exit(1);
51 | }
52 |
53 | int main(int argc, char** argv) {
54 | #if GTEST_HAS_EXCEPTIONS
55 | std::set_terminate(&TerminateHandler);
56 | #endif
57 | testing::InitGoogleTest(&argc, argv);
58 |
59 | // We want to ensure that people can use Google Test assertions in
60 | // other testing frameworks, as long as they initialize Google Test
61 | // properly and set the throw-on-failure mode. Therefore, we don't
62 | // use Google Test's constructs for defining and running tests
63 | // (e.g. TEST and RUN_ALL_TESTS) here.
64 |
65 | // In the throw-on-failure mode with exceptions disabled, this
66 | // assertion will cause the program to exit with a non-zero code.
67 | EXPECT_EQ(2, 3);
68 |
69 | // When not in the throw-on-failure mode, the control will reach
70 | // here.
71 | return 0;
72 | }
73 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/include/gtest/internal/custom/gtest-port.h:
--------------------------------------------------------------------------------
1 | // Copyright 2015, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Injection point for custom user configurations.
31 | // The following macros can be defined:
32 | //
33 | // Flag related macros:
34 | // GTEST_FLAG(flag_name)
35 | // GTEST_USE_OWN_FLAGFILE_FLAG_ - Define to 0 when the system provides its
36 | // own flagfile flag parsing.
37 | // GTEST_DECLARE_bool_(name)
38 | // GTEST_DECLARE_int32_(name)
39 | // GTEST_DECLARE_string_(name)
40 | // GTEST_DEFINE_bool_(name, default_val, doc)
41 | // GTEST_DEFINE_int32_(name, default_val, doc)
42 | // GTEST_DEFINE_string_(name, default_val, doc)
43 | //
44 | // Test filtering:
45 | // GTEST_TEST_FILTER_ENV_VAR_ - The name of an environment variable that
46 | // will be used if --GTEST_FLAG(test_filter)
47 | // is not provided.
48 | //
49 | // Logging:
50 | // GTEST_LOG_(severity)
51 | // GTEST_CHECK_(condition)
52 | // Functions LogToStderr() and FlushInfoLog() have to be provided too.
53 | //
54 | // Threading:
55 | // GTEST_HAS_NOTIFICATION_ - Enabled if Notification is already provided.
56 | // GTEST_HAS_MUTEX_AND_THREAD_LOCAL_ - Enabled if Mutex and ThreadLocal are
57 | // already provided.
58 | // Must also provide GTEST_DECLARE_STATIC_MUTEX_(mutex) and
59 | // GTEST_DEFINE_STATIC_MUTEX_(mutex)
60 | //
61 | // GTEST_EXCLUSIVE_LOCK_REQUIRED_(locks)
62 | // GTEST_LOCK_EXCLUDED_(locks)
63 | //
64 | // ** Custom implementation starts here **
65 |
66 | #ifndef GTEST_INCLUDE_GTEST_INTERNAL_CUSTOM_GTEST_PORT_H_
67 | #define GTEST_INCLUDE_GTEST_INTERNAL_CUSTOM_GTEST_PORT_H_
68 |
69 | #endif // GTEST_INCLUDE_GTEST_INTERNAL_CUSTOM_GTEST_PORT_H_
70 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/m4/gtest.m4:
--------------------------------------------------------------------------------
1 | dnl GTEST_LIB_CHECK([minimum version [,
2 | dnl action if found [,action if not found]]])
3 | dnl
4 | dnl Check for the presence of the Google Test library, optionally at a minimum
5 | dnl version, and indicate a viable version with the HAVE_GTEST flag. It defines
6 | dnl standard variables for substitution including GTEST_CPPFLAGS,
7 | dnl GTEST_CXXFLAGS, GTEST_LDFLAGS, and GTEST_LIBS. It also defines
8 | dnl GTEST_VERSION as the version of Google Test found. Finally, it provides
9 | dnl optional custom action slots in the event GTEST is found or not.
10 | AC_DEFUN([GTEST_LIB_CHECK],
11 | [
12 | dnl Provide a flag to enable or disable Google Test usage.
13 | AC_ARG_ENABLE([gtest],
14 | [AS_HELP_STRING([--enable-gtest],
15 | [Enable tests using the Google C++ Testing Framework.
16 | (Default is enabled.)])],
17 | [],
18 | [enable_gtest=])
19 | AC_ARG_VAR([GTEST_CONFIG],
20 | [The exact path of Google Test's 'gtest-config' script.])
21 | AC_ARG_VAR([GTEST_CPPFLAGS],
22 | [C-like preprocessor flags for Google Test.])
23 | AC_ARG_VAR([GTEST_CXXFLAGS],
24 | [C++ compile flags for Google Test.])
25 | AC_ARG_VAR([GTEST_LDFLAGS],
26 | [Linker path and option flags for Google Test.])
27 | AC_ARG_VAR([GTEST_LIBS],
28 | [Library linking flags for Google Test.])
29 | AC_ARG_VAR([GTEST_VERSION],
30 | [The version of Google Test available.])
31 | HAVE_GTEST="no"
32 | AS_IF([test "x${enable_gtest}" != "xno"],
33 | [AC_MSG_CHECKING([for 'gtest-config'])
34 | AS_IF([test "x${enable_gtest}" != "xyes"],
35 | [AS_IF([test -x "${enable_gtest}/scripts/gtest-config"],
36 | [GTEST_CONFIG="${enable_gtest}/scripts/gtest-config"],
37 | [GTEST_CONFIG="${enable_gtest}/bin/gtest-config"])
38 | AS_IF([test -x "${GTEST_CONFIG}"], [],
39 | [AC_MSG_RESULT([no])
40 | AC_MSG_ERROR([dnl
41 | Unable to locate either a built or installed Google Test.
42 | The specific location '${enable_gtest}' was provided for a built or installed
43 | Google Test, but no 'gtest-config' script could be found at this location.])
44 | ])],
45 | [AC_PATH_PROG([GTEST_CONFIG], [gtest-config])])
46 | AS_IF([test -x "${GTEST_CONFIG}"],
47 | [AC_MSG_RESULT([${GTEST_CONFIG}])
48 | m4_ifval([$1],
49 | [_gtest_min_version="--min-version=$1"
50 | AC_MSG_CHECKING([for Google Test at least version >= $1])],
51 | [_gtest_min_version="--min-version=0"
52 | AC_MSG_CHECKING([for Google Test])])
53 | AS_IF([${GTEST_CONFIG} ${_gtest_min_version}],
54 | [AC_MSG_RESULT([yes])
55 | HAVE_GTEST='yes'],
56 | [AC_MSG_RESULT([no])])],
57 | [AC_MSG_RESULT([no])])
58 | AS_IF([test "x${HAVE_GTEST}" = "xyes"],
59 | [GTEST_CPPFLAGS=`${GTEST_CONFIG} --cppflags`
60 | GTEST_CXXFLAGS=`${GTEST_CONFIG} --cxxflags`
61 | GTEST_LDFLAGS=`${GTEST_CONFIG} --ldflags`
62 | GTEST_LIBS=`${GTEST_CONFIG} --libs`
63 | GTEST_VERSION=`${GTEST_CONFIG} --version`
64 | AC_DEFINE([HAVE_GTEST],[1],[Defined when Google Test is available.])],
65 | [AS_IF([test "x${enable_gtest}" = "xyes"],
66 | [AC_MSG_ERROR([dnl
67 | Google Test was enabled, but no viable version could be found.])
68 | ])])])
69 | AC_SUBST([HAVE_GTEST])
70 | AM_CONDITIONAL([HAVE_GTEST],[test "x$HAVE_GTEST" = "xyes"])
71 | AS_IF([test "x$HAVE_GTEST" = "xyes"],
72 | [m4_ifval([$2], [$2])],
73 | [m4_ifval([$3], [$3])])
74 | ])
75 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/test/gtest_break_on_failure_unittest_.cc:
--------------------------------------------------------------------------------
1 | // Copyright 2006, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Author: wan@google.com (Zhanyong Wan)
31 |
32 | // Unit test for Google Test's break-on-failure mode.
33 | //
34 | // A user can ask Google Test to seg-fault when an assertion fails, using
35 | // either the GTEST_BREAK_ON_FAILURE environment variable or the
36 | // --gtest_break_on_failure flag. This file is used for testing such
37 | // functionality.
38 | //
39 | // This program will be invoked from a Python unit test. It is
40 | // expected to fail. Don't run it directly.
41 |
42 | #include "gtest/gtest.h"
43 |
44 | #if GTEST_OS_WINDOWS
45 | # include
46 | # include
47 | #endif
48 |
49 | namespace {
50 |
51 | // A test that's expected to fail.
52 | TEST(Foo, Bar) {
53 | EXPECT_EQ(2, 3);
54 | }
55 |
56 | #if GTEST_HAS_SEH && !GTEST_OS_WINDOWS_MOBILE
57 | // On Windows Mobile global exception handlers are not supported.
58 | LONG WINAPI ExitWithExceptionCode(
59 | struct _EXCEPTION_POINTERS* exception_pointers) {
60 | exit(exception_pointers->ExceptionRecord->ExceptionCode);
61 | }
62 | #endif
63 |
64 | } // namespace
65 |
66 | int main(int argc, char **argv) {
67 | #if GTEST_OS_WINDOWS
68 | // Suppresses display of the Windows error dialog upon encountering
69 | // a general protection fault (segment violation).
70 | SetErrorMode(SEM_NOGPFAULTERRORBOX | SEM_FAILCRITICALERRORS);
71 |
72 | # if GTEST_HAS_SEH && !GTEST_OS_WINDOWS_MOBILE
73 |
74 | // The default unhandled exception filter does not always exit
75 | // with the exception code as exit code - for example it exits with
76 | // 0 for EXCEPTION_ACCESS_VIOLATION and 1 for EXCEPTION_BREAKPOINT
77 | // if the application is compiled in debug mode. Thus we use our own
78 | // filter which always exits with the exception code for unhandled
79 | // exceptions.
80 | SetUnhandledExceptionFilter(ExitWithExceptionCode);
81 |
82 | # endif
83 | #endif
84 |
85 | testing::InitGoogleTest(&argc, argv);
86 |
87 | return RUN_ALL_TESTS();
88 | }
89 |
--------------------------------------------------------------------------------
/tests/googletest/googlemock/test/gmock_ex_test.cc:
--------------------------------------------------------------------------------
1 | // Copyright 2013, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Author: wan@google.com (Zhanyong Wan)
31 |
32 | // Tests Google Mock's functionality that depends on exceptions.
33 |
34 | #include "gmock/gmock.h"
35 | #include "gtest/gtest.h"
36 |
37 | namespace {
38 |
39 | using testing::HasSubstr;
40 | using testing::internal::GoogleTestFailureException;
41 |
42 | // A type that cannot be default constructed.
43 | class NonDefaultConstructible {
44 | public:
45 | explicit NonDefaultConstructible(int /* dummy */) {}
46 | };
47 |
48 | class MockFoo {
49 | public:
50 | // A mock method that returns a user-defined type. Google Mock
51 | // doesn't know what the default value for this type is.
52 | MOCK_METHOD0(GetNonDefaultConstructible, NonDefaultConstructible());
53 | };
54 |
55 | #if GTEST_HAS_EXCEPTIONS
56 |
57 | TEST(DefaultValueTest, ThrowsRuntimeErrorWhenNoDefaultValue) {
58 | MockFoo mock;
59 | try {
60 | // No expectation is set on this method, so Google Mock must
61 | // return the default value. However, since Google Mock knows
62 | // nothing about the return type, it doesn't know what to return,
63 | // and has to throw (when exceptions are enabled) or abort
64 | // (otherwise).
65 | mock.GetNonDefaultConstructible();
66 | FAIL() << "GetNonDefaultConstructible()'s return type has no default "
67 | << "value, so Google Mock should have thrown.";
68 | } catch (const GoogleTestFailureException& /* unused */) {
69 | FAIL() << "Google Test does not try to catch an exception of type "
70 | << "GoogleTestFailureException, which is used for reporting "
71 | << "a failure to other testing frameworks. Google Mock should "
72 | << "not throw a GoogleTestFailureException as it will kill the "
73 | << "entire test program instead of just the current TEST.";
74 | } catch (const std::exception& ex) {
75 | EXPECT_THAT(ex.what(), HasSubstr("has no default value"));
76 | }
77 | }
78 |
79 | #endif
80 |
81 | } // unnamed namespace
82 |
--------------------------------------------------------------------------------
/tests/googletest/googlemock/test/gmock_leak_test_.cc:
--------------------------------------------------------------------------------
1 | // Copyright 2009, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Author: wan@google.com (Zhanyong Wan)
31 |
32 | // Google Mock - a framework for writing C++ mock classes.
33 | //
34 | // This program is for verifying that a leaked mock object can be
35 | // caught by Google Mock's leak detector.
36 |
37 | #include "gmock/gmock.h"
38 |
39 | namespace {
40 |
41 | using ::testing::Return;
42 |
43 | class FooInterface {
44 | public:
45 | virtual ~FooInterface() {}
46 | virtual void DoThis() = 0;
47 | };
48 |
49 | class MockFoo : public FooInterface {
50 | public:
51 | MockFoo() {}
52 |
53 | MOCK_METHOD0(DoThis, void());
54 |
55 | private:
56 | GTEST_DISALLOW_COPY_AND_ASSIGN_(MockFoo);
57 | };
58 |
59 | TEST(LeakTest, LeakedMockWithExpectCallCausesFailureWhenLeakCheckingIsEnabled) {
60 | MockFoo* foo = new MockFoo;
61 |
62 | EXPECT_CALL(*foo, DoThis());
63 | foo->DoThis();
64 |
65 | // In order to test the leak detector, we deliberately leak foo.
66 |
67 | // Makes sure Google Mock's leak detector can change the exit code
68 | // to 1 even when the code is already exiting with 0.
69 | exit(0);
70 | }
71 |
72 | TEST(LeakTest, LeakedMockWithOnCallCausesFailureWhenLeakCheckingIsEnabled) {
73 | MockFoo* foo = new MockFoo;
74 |
75 | ON_CALL(*foo, DoThis()).WillByDefault(Return());
76 |
77 | // In order to test the leak detector, we deliberately leak foo.
78 |
79 | // Makes sure Google Mock's leak detector can change the exit code
80 | // to 1 even when the code is already exiting with 0.
81 | exit(0);
82 | }
83 |
84 | TEST(LeakTest, CatchesMultipleLeakedMockObjects) {
85 | MockFoo* foo1 = new MockFoo;
86 | MockFoo* foo2 = new MockFoo;
87 |
88 | ON_CALL(*foo1, DoThis()).WillByDefault(Return());
89 | EXPECT_CALL(*foo2, DoThis());
90 | foo2->DoThis();
91 |
92 | // In order to test the leak detector, we deliberately leak foo1 and
93 | // foo2.
94 |
95 | // Makes sure Google Mock's leak detector can change the exit code
96 | // to 1 even when the code is already exiting with 0.
97 | exit(0);
98 | }
99 |
100 | } // namespace
101 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/test/gtest_throw_on_failure_ex_test.cc:
--------------------------------------------------------------------------------
1 | // Copyright 2009, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Author: wan@google.com (Zhanyong Wan)
31 |
32 | // Tests Google Test's throw-on-failure mode with exceptions enabled.
33 |
34 | #include "gtest/gtest.h"
35 |
36 | #include
37 | #include
38 | #include
39 | #include
40 |
41 | // Prints the given failure message and exits the program with
42 | // non-zero. We use this instead of a Google Test assertion to
43 | // indicate a failure, as the latter is been tested and cannot be
44 | // relied on.
45 | void Fail(const char* msg) {
46 | printf("FAILURE: %s\n", msg);
47 | fflush(stdout);
48 | exit(1);
49 | }
50 |
51 | // Tests that an assertion failure throws a subclass of
52 | // std::runtime_error.
53 | void TestFailureThrowsRuntimeError() {
54 | testing::GTEST_FLAG(throw_on_failure) = true;
55 |
56 | // A successful assertion shouldn't throw.
57 | try {
58 | EXPECT_EQ(3, 3);
59 | } catch(...) {
60 | Fail("A successful assertion wrongfully threw.");
61 | }
62 |
63 | // A failed assertion should throw a subclass of std::runtime_error.
64 | try {
65 | EXPECT_EQ(2, 3) << "Expected failure";
66 | } catch(const std::runtime_error& e) {
67 | if (strstr(e.what(), "Expected failure") != NULL)
68 | return;
69 |
70 | printf("%s",
71 | "A failed assertion did throw an exception of the right type, "
72 | "but the message is incorrect. Instead of containing \"Expected "
73 | "failure\", it is:\n");
74 | Fail(e.what());
75 | } catch(...) {
76 | Fail("A failed assertion threw the wrong type of exception.");
77 | }
78 | Fail("A failed assertion should've thrown but didn't.");
79 | }
80 |
81 | int main(int argc, char** argv) {
82 | testing::InitGoogleTest(&argc, argv);
83 |
84 | // We want to ensure that people can use Google Test assertions in
85 | // other testing frameworks, as long as they initialize Google Test
86 | // properly and set the thrown-on-failure mode. Therefore, we don't
87 | // use Google Test's constructs for defining and running tests
88 | // (e.g. TEST and RUN_ALL_TESTS) here.
89 |
90 | TestFailureThrowsRuntimeError();
91 | return 0;
92 | }
93 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/test/gtest_shuffle_test_.cc:
--------------------------------------------------------------------------------
1 | // Copyright 2009, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Author: wan@google.com (Zhanyong Wan)
31 |
32 | // Verifies that test shuffling works.
33 |
34 | #include "gtest/gtest.h"
35 |
36 | namespace {
37 |
38 | using ::testing::EmptyTestEventListener;
39 | using ::testing::InitGoogleTest;
40 | using ::testing::Message;
41 | using ::testing::Test;
42 | using ::testing::TestEventListeners;
43 | using ::testing::TestInfo;
44 | using ::testing::UnitTest;
45 | using ::testing::internal::scoped_ptr;
46 |
47 | // The test methods are empty, as the sole purpose of this program is
48 | // to print the test names before/after shuffling.
49 |
50 | class A : public Test {};
51 | TEST_F(A, A) {}
52 | TEST_F(A, B) {}
53 |
54 | TEST(ADeathTest, A) {}
55 | TEST(ADeathTest, B) {}
56 | TEST(ADeathTest, C) {}
57 |
58 | TEST(B, A) {}
59 | TEST(B, B) {}
60 | TEST(B, C) {}
61 | TEST(B, DISABLED_D) {}
62 | TEST(B, DISABLED_E) {}
63 |
64 | TEST(BDeathTest, A) {}
65 | TEST(BDeathTest, B) {}
66 |
67 | TEST(C, A) {}
68 | TEST(C, B) {}
69 | TEST(C, C) {}
70 | TEST(C, DISABLED_D) {}
71 |
72 | TEST(CDeathTest, A) {}
73 |
74 | TEST(DISABLED_D, A) {}
75 | TEST(DISABLED_D, DISABLED_B) {}
76 |
77 | // This printer prints the full test names only, starting each test
78 | // iteration with a "----" marker.
79 | class TestNamePrinter : public EmptyTestEventListener {
80 | public:
81 | virtual void OnTestIterationStart(const UnitTest& /* unit_test */,
82 | int /* iteration */) {
83 | printf("----\n");
84 | }
85 |
86 | virtual void OnTestStart(const TestInfo& test_info) {
87 | printf("%s.%s\n", test_info.test_case_name(), test_info.name());
88 | }
89 | };
90 |
91 | } // namespace
92 |
93 | int main(int argc, char **argv) {
94 | InitGoogleTest(&argc, argv);
95 |
96 | // Replaces the default printer with TestNamePrinter, which prints
97 | // the test name only.
98 | TestEventListeners& listeners = UnitTest::GetInstance()->listeners();
99 | delete listeners.Release(listeners.default_result_printer());
100 | listeners.Append(new TestNamePrinter);
101 |
102 | return RUN_ALL_TESTS();
103 | }
104 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/include/gtest/internal/gtest-port-arch.h:
--------------------------------------------------------------------------------
1 | // Copyright 2015, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // The Google C++ Testing Framework (Google Test)
31 | //
32 | // This header file defines the GTEST_OS_* macro.
33 | // It is separate from gtest-port.h so that custom/gtest-port.h can include it.
34 |
35 | #ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PORT_ARCH_H_
36 | #define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PORT_ARCH_H_
37 |
38 | // Determines the platform on which Google Test is compiled.
39 | #ifdef __CYGWIN__
40 | # define GTEST_OS_CYGWIN 1
41 | #elif defined __SYMBIAN32__
42 | # define GTEST_OS_SYMBIAN 1
43 | #elif defined _WIN32
44 | # define GTEST_OS_WINDOWS 1
45 | # ifdef _WIN32_WCE
46 | # define GTEST_OS_WINDOWS_MOBILE 1
47 | # elif defined(__MINGW__) || defined(__MINGW32__)
48 | # define GTEST_OS_WINDOWS_MINGW 1
49 | # elif defined(WINAPI_FAMILY)
50 | # include
51 | # if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
52 | # define GTEST_OS_WINDOWS_DESKTOP 1
53 | # elif WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_PHONE_APP)
54 | # define GTEST_OS_WINDOWS_PHONE 1
55 | # elif WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
56 | # define GTEST_OS_WINDOWS_RT 1
57 | # else
58 | // WINAPI_FAMILY defined but no known partition matched.
59 | // Default to desktop.
60 | # define GTEST_OS_WINDOWS_DESKTOP 1
61 | # endif
62 | # else
63 | # define GTEST_OS_WINDOWS_DESKTOP 1
64 | # endif // _WIN32_WCE
65 | #elif defined __APPLE__
66 | # define GTEST_OS_MAC 1
67 | # if TARGET_OS_IPHONE
68 | # define GTEST_OS_IOS 1
69 | # endif
70 | #elif defined __FreeBSD__
71 | # define GTEST_OS_FREEBSD 1
72 | #elif defined __linux__
73 | # define GTEST_OS_LINUX 1
74 | # if defined __ANDROID__
75 | # define GTEST_OS_LINUX_ANDROID 1
76 | # endif
77 | #elif defined __MVS__
78 | # define GTEST_OS_ZOS 1
79 | #elif defined(__sun) && defined(__SVR4)
80 | # define GTEST_OS_SOLARIS 1
81 | #elif defined(_AIX)
82 | # define GTEST_OS_AIX 1
83 | #elif defined(__hpux)
84 | # define GTEST_OS_HPUX 1
85 | #elif defined __native_client__
86 | # define GTEST_OS_NACL 1
87 | #elif defined __OpenBSD__
88 | # define GTEST_OS_OPENBSD 1
89 | #elif defined __QNX__
90 | # define GTEST_OS_QNX 1
91 | #endif // __CYGWIN__
92 |
93 | #endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PORT_ARCH_H_
94 |
--------------------------------------------------------------------------------
/tests/googletest/googlemock/include/gmock/gmock.h:
--------------------------------------------------------------------------------
1 | // Copyright 2007, Google Inc.
2 | // All rights reserved.
3 | //
4 | // Redistribution and use in source and binary forms, with or without
5 | // modification, are permitted provided that the following conditions are
6 | // met:
7 | //
8 | // * Redistributions of source code must retain the above copyright
9 | // notice, this list of conditions and the following disclaimer.
10 | // * Redistributions in binary form must reproduce the above
11 | // copyright notice, this list of conditions and the following disclaimer
12 | // in the documentation and/or other materials provided with the
13 | // distribution.
14 | // * Neither the name of Google Inc. nor the names of its
15 | // contributors may be used to endorse or promote products derived from
16 | // this software without specific prior written permission.
17 | //
18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | //
30 | // Author: wan@google.com (Zhanyong Wan)
31 |
32 | // Google Mock - a framework for writing C++ mock classes.
33 | //
34 | // This is the main header file a user should include.
35 |
36 | #ifndef GMOCK_INCLUDE_GMOCK_GMOCK_H_
37 | #define GMOCK_INCLUDE_GMOCK_GMOCK_H_
38 |
39 | // This file implements the following syntax:
40 | //
41 | // ON_CALL(mock_object.Method(...))
42 | // .With(...) ?
43 | // .WillByDefault(...);
44 | //
45 | // where With() is optional and WillByDefault() must appear exactly
46 | // once.
47 | //
48 | // EXPECT_CALL(mock_object.Method(...))
49 | // .With(...) ?
50 | // .Times(...) ?
51 | // .InSequence(...) *
52 | // .WillOnce(...) *
53 | // .WillRepeatedly(...) ?
54 | // .RetiresOnSaturation() ? ;
55 | //
56 | // where all clauses are optional and WillOnce() can be repeated.
57 |
58 | #include "gmock/gmock-actions.h"
59 | #include "gmock/gmock-cardinalities.h"
60 | #include "gmock/gmock-generated-actions.h"
61 | #include "gmock/gmock-generated-function-mockers.h"
62 | #include "gmock/gmock-generated-nice-strict.h"
63 | #include "gmock/gmock-generated-matchers.h"
64 | #include "gmock/gmock-matchers.h"
65 | #include "gmock/gmock-more-actions.h"
66 | #include "gmock/gmock-more-matchers.h"
67 | #include "gmock/internal/gmock-internal-utils.h"
68 |
69 | namespace testing {
70 |
71 | // Declares Google Mock flags that we want a user to use programmatically.
72 | GMOCK_DECLARE_bool_(catch_leaked_mocks);
73 | GMOCK_DECLARE_string_(verbose);
74 |
75 | // Initializes Google Mock. This must be called before running the
76 | // tests. In particular, it parses the command line for the flags
77 | // that Google Mock recognizes. Whenever a Google Mock flag is seen,
78 | // it is removed from argv, and *argc is decremented.
79 | //
80 | // No value is returned. Instead, the Google Mock flag variables are
81 | // updated.
82 | //
83 | // Since Google Test is needed for Google Mock to work, this function
84 | // also initializes Google Test and parses its flags, if that hasn't
85 | // been done.
86 | GTEST_API_ void InitGoogleMock(int* argc, char** argv);
87 |
88 | // This overloaded version can be used in Windows programs compiled in
89 | // UNICODE mode.
90 | GTEST_API_ void InitGoogleMock(int* argc, wchar_t** argv);
91 |
92 | } // namespace testing
93 |
94 | #endif // GMOCK_INCLUDE_GMOCK_GMOCK_H_
95 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/test/gtest_env_var_test.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | #
3 | # Copyright 2008, Google Inc.
4 | # All rights reserved.
5 | #
6 | # Redistribution and use in source and binary forms, with or without
7 | # modification, are permitted provided that the following conditions are
8 | # met:
9 | #
10 | # * Redistributions of source code must retain the above copyright
11 | # notice, this list of conditions and the following disclaimer.
12 | # * Redistributions in binary form must reproduce the above
13 | # copyright notice, this list of conditions and the following disclaimer
14 | # in the documentation and/or other materials provided with the
15 | # distribution.
16 | # * Neither the name of Google Inc. nor the names of its
17 | # contributors may be used to endorse or promote products derived from
18 | # this software without specific prior written permission.
19 | #
20 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 | """Verifies that Google Test correctly parses environment variables."""
33 |
34 | __author__ = 'wan@google.com (Zhanyong Wan)'
35 |
36 | import os
37 | import gtest_test_utils
38 |
39 |
40 | IS_WINDOWS = os.name == 'nt'
41 | IS_LINUX = os.name == 'posix' and os.uname()[0] == 'Linux'
42 |
43 | COMMAND = gtest_test_utils.GetTestExecutablePath('gtest_env_var_test_')
44 |
45 | environ = os.environ.copy()
46 |
47 |
48 | def AssertEq(expected, actual):
49 | if expected != actual:
50 | print 'Expected: %s' % (expected,)
51 | print ' Actual: %s' % (actual,)
52 | raise AssertionError
53 |
54 |
55 | def SetEnvVar(env_var, value):
56 | """Sets the env variable to 'value'; unsets it when 'value' is None."""
57 |
58 | if value is not None:
59 | environ[env_var] = value
60 | elif env_var in environ:
61 | del environ[env_var]
62 |
63 |
64 | def GetFlag(flag):
65 | """Runs gtest_env_var_test_ and returns its output."""
66 |
67 | args = [COMMAND]
68 | if flag is not None:
69 | args += [flag]
70 | return gtest_test_utils.Subprocess(args, env=environ).output
71 |
72 |
73 | def TestFlag(flag, test_val, default_val):
74 | """Verifies that the given flag is affected by the corresponding env var."""
75 |
76 | env_var = 'GTEST_' + flag.upper()
77 | SetEnvVar(env_var, test_val)
78 | AssertEq(test_val, GetFlag(flag))
79 | SetEnvVar(env_var, None)
80 | AssertEq(default_val, GetFlag(flag))
81 |
82 |
83 | class GTestEnvVarTest(gtest_test_utils.TestCase):
84 | def testEnvVarAffectsFlag(self):
85 | """Tests that environment variable should affect the corresponding flag."""
86 |
87 | TestFlag('break_on_failure', '1', '0')
88 | TestFlag('color', 'yes', 'auto')
89 | TestFlag('filter', 'FooTest.Bar', '*')
90 | TestFlag('output', 'xml:tmp/foo.xml', '')
91 | TestFlag('print_time', '0', '1')
92 | TestFlag('repeat', '999', '1')
93 | TestFlag('throw_on_failure', '1', '0')
94 | TestFlag('death_test_style', 'threadsafe', 'fast')
95 | TestFlag('catch_exceptions', '0', '1')
96 |
97 | if IS_LINUX:
98 | TestFlag('death_test_use_fork', '1', '0')
99 | TestFlag('stack_trace_depth', '0', '100')
100 |
101 |
102 | if __name__ == '__main__':
103 | gtest_test_utils.Main()
104 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/msvc/gtest.vcproj:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
11 |
12 |
13 |
20 |
31 |
33 |
36 |
38 |
40 |
42 |
44 |
46 |
48 |
50 |
52 |
54 |
55 |
62 |
70 |
72 |
75 |
77 |
79 |
81 |
83 |
85 |
87 |
89 |
91 |
93 |
94 |
95 |
96 |
97 |
98 |
102 |
104 |
106 |
109 |
110 |
112 |
115 |
116 |
117 |
118 |
122 |
123 |
124 |
125 |
126 |
127 |
--------------------------------------------------------------------------------
/tests/googletest/googletest/msvc/gtest-md.vcproj:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
11 |
12 |
13 |
20 |
31 |
33 |
36 |
38 |
40 |
42 |
44 |
46 |
48 |
50 |
52 |
54 |
55 |
62 |
70 |
72 |
75 |
77 |
79 |
81 |
83 |
85 |
87 |
89 |
91 |
93 |
94 |
95 |
96 |
97 |
98 |
102 |
104 |
106 |
109 |
110 |
112 |
115 |
116 |
117 |
118 |
122 |
123 |
124 |
125 |
126 |
127 |
--------------------------------------------------------------------------------