Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Guillaume Martres
aom-rav1e
Commits
07c71ef7
Commit
07c71ef7
authored
Nov 04, 2011
by
James Berry
Committed by
John Koleszar
Nov 04, 2011
Browse files
Add unit test support via google test
Change-Id: I0ab00a22fbea1f38c96ef92ef7eaeda782c0c8d3
parent
e1a55b50
Changes
171
Hide whitespace changes
Inline
Side-by-side
build/make/Makefile
View file @
07c71ef7
...
...
@@ -20,6 +20,7 @@ ifeq ($(target),)
all
:
.DEFAULT
clean
::
.DEFAULT
install
::
.DEFAULT
test
::
.DEFAULT
# Note: md5sum is not installed on OS X, but openssl is. Openssl may not be
...
...
@@ -78,6 +79,7 @@ qexec=$(if $(quiet),@)
%
:
%.o
%.asm
:
%.a
:
%
:
%.cc
#
# Common rules"
...
...
@@ -94,6 +96,8 @@ clean::
dist
:
.PHONY
:
install
install
::
.PHONY
:
test
test
::
$(BUILD_PFX)%.c.d
:
%.c
$(
if
$(quiet)
,@echo
" [DEP]
$@
"
)
...
...
@@ -104,6 +108,15 @@ $(BUILD_PFX)%.c.o: %.c
$(
if
$(quiet)
,@echo
" [CC]
$@
"
)
$(qexec)$(CC)
$(INTERNAL_CFLAGS)
$(CFLAGS)
-c
-o
$@
$<
$(BUILD_PFX)%.cc.d
:
%.cc
$(
if
$(quiet)
,@echo
" [DEP]
$@
"
)
$(qexec)
mkdir
-p
$(
dir
$@
)
$(qexec)
g++
$(INTERNAL_CFLAGS)
$(CFLAGS)
-M
$<
|
$(fmt_deps)
>
$@
$(BUILD_PFX)%.cc.o
:
%.cc
$(
if
$(quiet)
,@echo
" [CXX]
$@
"
)
$(qexec)
g++
$(INTERNAL_CFLAGS)
$(CFLAGS)
-c
-o
$@
$<
$(BUILD_PFX)%.asm.d
:
%.asm
$(
if
$(quiet)
,@echo
" [DEP]
$@
"
)
$(qexec)
mkdir
-p
$(
dir
$@
)
...
...
@@ -175,7 +188,7 @@ cond_enabled=$(if $(filter yes,$($(1))), $(call enabled,$(2)))
find_file1
=
$(
word
1,
$(
wildcard
$(
subst
//,/,
$(
addsuffix
/
$(1)
,
$(2)
))))
find_file
=
$(
foreach
f,
$(1)
,
$(
call
find_file1,
$(
strip
$(f)
)
,
$(
strip
$(2)
))
)
obj_pats
=
.c
=
.c.o
$(AS_SFX)
=
$(AS_SFX)
.o
obj_pats
=
.c
=
.c.o
$(AS_SFX)
=
$(AS_SFX)
.o
.cc
=
.cc.o
objs
=
$(
addprefix
$(BUILD_PFX)
,
$(
foreach
p,
$(obj_pats)
,
$(
filter
%.o,
$
(
1:
$(p)
))
))
install_map_templates
=
$(
eval
$(
call
install_map_template,
$(1)
,
$(2)
))
...
...
@@ -196,6 +209,12 @@ $(1):
$(
if
$(quiet)
,@echo
" [LD]
$$
@"
)
$(qexec)
$
$(LD)
$
$(
strip
$
$(INTERNAL_LDFLAGS)
$
$(LDFLAGS)
-o
$$
@
$(2)
$(3)
$
$(extralibs)
)
endef
define
linkerxx_template
$(1)
:
$(filter-out -%
,
$(2))
$(1)
:
$(
if
$(quiet)
,@echo
" [LD]
$$
@"
)
$(qexec)
g++
$
$(
strip
$
$(INTERNAL_LDFLAGS)
$
$(LDFLAGS)
-o
$$
@
$(2)
$(3)
$
$(extralibs)
)
endef
# make-3.80 has a bug with expanding large input strings to the eval function,
# which was triggered in some cases by the following component of
# linker_template:
...
...
@@ -362,3 +381,4 @@ INSTALL_TARGETS += .install-docs .install-srcs .install-libs .install-bins
all
:
$(BUILD_TARGETS)
install
::
$(INSTALL_TARGETS)
dist
:
$(INSTALL_TARGETS)
test
::
build/make/gen_msvs_proj.sh
View file @
07c71ef7
...
...
@@ -544,7 +544,7 @@ generate_vcproj() {
close_tag Configurations
open_tag Files
generate_filter srcs
"Source Files"
"c;def;odl;idl;hpj;bat;asm;asmx"
generate_filter srcs
"Source Files"
"c;
cc;
def;odl;idl;hpj;bat;asm;asmx"
generate_filter hdrs
"Header Files"
"h;hm;inl;inc;xsd"
generate_filter resrcs
"Resource Files"
"rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
generate_filter resrcs
"Build Files"
"mk"
...
...
configure
View file @
07c71ef7
...
...
@@ -22,6 +22,7 @@ show_help(){
Advanced options:
${
toggle_libs
}
don't build libraries
${
toggle_examples
}
don't build examples
${
toggle_unit_tests
}
build unit tests
--libc=PATH path to alternate libc
--as={yasm|nasm|auto} use specified assembler [auto, yasm preferred]
${
toggle_fast_unaligned
}
don't use unaligned accesses, even when
...
...
@@ -259,6 +260,7 @@ CONFIG_LIST="
small
postproc_visualizer
os_support
unit_tests
"
CMDLINE_SELECT
=
"
extra_warnings
...
...
@@ -300,6 +302,7 @@ CMDLINE_SELECT="
static
small
postproc_visualizer
unit_tests
"
process_cmdline
()
{
...
...
libs.mk
100644 → 100755
View file @
07c71ef7
...
...
@@ -128,7 +128,7 @@ INSTALL-LIBS-$(CONFIG_STATIC) += $(LIBSUBDIR)/libvpx.a
INSTALL-LIBS-$(CONFIG_DEBUG_LIBS)
+=
$(LIBSUBDIR)
/libvpx_g.a
endif
CODEC_SRCS
=
$(
call
enabled,CODEC_SRCS
)
CODEC_SRCS
=
$(
filter-out
%_test.cc,
$(
call
enabled,CODEC_SRCS
)
)
INSTALL-SRCS-$(CONFIG_CODEC_SRCS)
+=
$(CODEC_SRCS)
INSTALL-SRCS-$(CONFIG_CODEC_SRCS)
+=
$(
call
enabled,CODEC_EXPORTS
)
...
...
@@ -327,6 +327,90 @@ CODEC_DOC_SRCS += vpx/vpx_codec.h \
vpx/vpx_encoder.h
\
vpx/vpx_image.h
##
## libvpx test directives
##
ifeq
($(CONFIG_UNIT_TESTS),yes)
ifeq
($(CONFIG_EXTERNAL_BUILD),yes)
ifeq
($(CONFIG_MSVS),yes)
LIBVPX_TEST_SRCS
=
$(
filter
%_test.cc,
$(
call
enabled,CODEC_SRCS
))
LIBVPX_TEST_BINS
=
$(
sort
$(LIBVPX_TEST_SRCS:.cc.o=)
)
gtest.vcproj
:
$(SRC_PATH_BARE)/third_party/googletest/src/src/gtest-all.cc
@
echo
" [CREATE]
$@
"
$(SRC_PATH_BARE)
/build/make/gen_msvs_proj.sh
\
--lib
\
--target
=
$(TOOLCHAIN)
\
$(
if
$(CONFIG_STATIC_MSVCRT)
,--static-crt
)
\
--name
=
gtest
\
--proj-guid
=
EC00E1EC-AF68-4D92-A255-181690D1C9B1
\
--ver
=
$(CONFIG_VS_VERSION)
\
--src-path-bare
=
"
$(SRC_PATH_BARE)
"
\
--out
=
gtest.vcproj
$(SRC_PATH_BARE)
/third_party/googletest/src/src/gtest-all.cc
\
-I
.
-I
"
$(SRC_PATH_BARE)
/third_party/googletest/src/include"
-I
"
$(SRC_PATH_BARE)
/third_party/googletest/src"
PROJECTS-$(CONFIG_MSVS)
+=
gtest.vcproj
define
unit_test_vcproj_template
$(notdir $(1
:
.cc=.vcproj)): $(SRC_PATH_BARE)/$(1)
@
echo
" [vcproj]
$$
@"
$
$(SRC_PATH_BARE)
/build/make/gen_msvs_proj.sh
\
--exe
\
--target
=
$
$(TOOLCHAIN)
\
--name
=
$(
notdir
$(1:.cc=)
)
\
--ver
=
$
$(CONFIG_VS_VERSION)
\
$
$(
if
$
$(CONFIG_STATIC_MSVCRT)
,--static-crt
)
\
--out
=
$$
@
$
$(INTERNAL_CFLAGS)
$
$(CFLAGS)
\
-I
.
-I
"
$(SRC_PATH_BARE)
/third_party/googletest/src/include"
\
-L
.
-lvpxmt
-lwinmm
-lgtestmt
$$
^
endef
$(foreach
proj,$(LIBVPX_TEST_BINS),\
$(eval
$(call
unit_test_vcproj_template,$(proj))))
PROJECTS-$(CONFIG_MSVS)
+=
$(
foreach
proj,
$(LIBVPX_TEST_BINS)
,
\
$(
notdir
$(proj:.cc=.vcproj)
))
test
::
@
set
-e
;
for
t
in
$(
addprefix
Win32/Release/,
$(
notdir
$(LIBVPX_TEST_BINS:.cc=.exe)
))
;
do
$$
t
;
done
endif
else
include
$(SRC_PATH_BARE)/third_party/googletest/gtest.mk
GTEST_SRCS
:=
$(
addprefix
third_party/googletest/src/,
$(
call
enabled,GTEST_SRCS
))
GTEST_OBJS
=
$(
call
objs,
$(GTEST_SRCS)
)
$(GTEST_OBJS) $(GTEST_OBJS
:
.o=.d): CFLAGS += -I$(SRC_PATH_BARE)/third_party/googletest/src
$(GTEST_OBJS) $(GTEST_OBJS
:
.o=.d): CFLAGS += -I$(SRC_PATH_BARE)/third_party/googletest/src/include
OBJS-$(BUILD_LIBVPX)
+=
$(GTEST_OBJS)
LIBS-$(BUILD_LIBVPX)
+=
$(BUILD_PFX)
libgtest.a
$(BUILD_PFX)
libgtest_g.a
$(BUILD_PFX)libgtest_g.a
:
$(GTEST_OBJS)
LIBVPX_TEST_SRCS
=
$(
filter
%_test.cc,
$(
call
enabled,CODEC_SRCS
))
LIBVPX_TEST_OBJS
=
$(
call
objs,
$(LIBVPX_TEST_SRCS)
)
$(LIBVPX_TEST_OBJS) $(LIBVPX_TEST_OBJS
:
.o=.d): CFLAGS += -I$(SRC_PATH_BARE)/third_party/googletest/src
$(LIBVPX_TEST_OBJS) $(LIBVPX_TEST_OBJS
:
.o=.d): CFLAGS += -I$(SRC_PATH_BARE)/third_party/googletest/src/include
LIBVPX_TEST_BINS
=
$(
sort
$(LIBVPX_TEST_OBJS:.cc.o=)
)
OBJS-$(BUILD_LIBVPX)
+=
$(LIBVPX_TEST_OBJS)
$(foreach
bin,$(LIBVPX_TEST_BINS),\
$(if $(BUILD_LIBVPX),$(eval $(bin)
:
libvpx.a libgtest.a ))
\
$(if $(BUILD_LIBVPX)
,
$(eval $(call linkerxx_template
,
$(bin)
,
\
$(bin).cc.o
\
-L. -lvpx -lgtest -lpthread -lm)
\
)))
\
$(if $(LIPO_LIBS)
,
$(eval $(call lipo_bin_template
,
$(bin))))
\
test
::
$(LIBVPX_TEST_BINS)
@
set
-e
;
for
t
in
$(LIBVPX_TEST_BINS)
;
do
$$
t
;
done
endif
endif
##
## documentation directives
##
CLEAN-OBJS
+=
libs.doxy
DOCS-yes
+=
libs.doxy
libs.doxy
:
$(CODEC_DOC_SRCS)
...
...
solution.mk
100644 → 100755
View file @
07c71ef7
...
...
@@ -13,11 +13,13 @@ vpx.sln: $(wildcard *.vcproj)
@
echo
" [CREATE]
$@
"
$(SRC_PATH_BARE)
/build/make/gen_msvs_sln.sh
\
$(
if
$(
filter
%vpx.vcproj,
$^
)
,
\
$(
foreach
vcp,
$(
filter-out
%vpx.vcproj %obj_int_extract.vcproj,
$^
)
,
\
--dep
=
$(vcp:.vcproj=)
:vpx
))
\
--dep
=
vpx:obj_int_extract
\
--ver
=
$(CONFIG_VS_VERSION)
\
--out
=
$@
$^
$(
foreach
vcp,
$(
filter-out
%vpx.vcproj %gtest.vcproj %obj_int_extract.vcproj,
$^
)
,
\
--dep
=
$(vcp:.vcproj=)
:vpx
)
\
$(
foreach
vcp,
$(
filter
%_test.vcproj,
$^
)
,
\
--dep
=
$(vcp:.vcproj=)
:gtest
))
\
--dep
=
vpx:obj_int_extract
\
--ver
=
$(CONFIG_VS_VERSION)
\
--out
=
$@
$^
vpx.sln.mk
:
vpx.sln
@
true
...
...
third_party/googletest/README.webm
0 → 100644
View file @
07c71ef7
URL: http://code.google.com/p/googletest/
Version: 1.6.0
License: BSD
License File: COPYING
Description:
Google's framework for writing C++ tests on a variety of platforms
(Linux, Mac OS X, Windows, Windows CE, Symbian, etc). Based on the
xUnit architecture. Supports automatic test discovery, a rich set of
assertions, user-defined assertions, death tests, fatal and non-fatal
failures, various options for running the tests, and XML test report
generation.
Local Modifications:
None.
\ No newline at end of file
third_party/googletest/gtest.mk
0 → 100755
View file @
07c71ef7
GTEST_SRCS-yes
+=
src/gtest-all.cc
third_party/googletest/src/CHANGES
0 → 100755
View file @
07c71ef7
Changes for 1.6.0:
* New feature: ADD_FAILURE_AT() for reporting a test failure at the
given source location -- useful for writing testing utilities.
* New feature: the universal value printer is moved from Google Mock
to Google Test.
* New feature: type parameters and value parameters are reported in
the XML report now.
* A gtest_disable_pthreads CMake option.
* Colored output works in GNU Screen sessions now.
* Parameters of value-parameterized tests are now printed in the
textual output.
* Failures from ad hoc test assertions run before RUN_ALL_TESTS() are
now correctly reported.
* Arguments of ASSERT_XY and EXPECT_XY no longer need to support << to
ostream.
* More complete handling of exceptions.
* GTEST_ASSERT_XY can be used instead of ASSERT_XY in case the latter
name is already used by another library.
* --gtest_catch_exceptions is now true by default, allowing a test
program to continue after an exception is thrown.
* Value-parameterized test fixtures can now derive from Test and
WithParamInterface<T> separately, easing conversion of legacy tests.
* Death test messages are clearly marked to make them more
distinguishable from other messages.
* Compatibility fixes for Android, Google Native Client, MinGW, HP UX,
PowerPC, Lucid autotools, libCStd, Sun C++, Borland C++ Builder (Code Gear),
IBM XL C++ (Visual Age C++), and C++0x.
* Bug fixes and implementation clean-ups.
* Potentially incompatible changes: disables the harmful 'make install'
command in autotools.
Changes for 1.5.0:
* New feature: assertions can be safely called in multiple threads
where the pthreads library is available.
* New feature: predicates used inside EXPECT_TRUE() and friends
can now generate custom failure messages.
* New feature: Google Test can now be compiled as a DLL.
* New feature: fused source files are included.
* New feature: prints help when encountering unrecognized Google Test flags.
* Experimental feature: CMake build script (requires CMake 2.6.4+).
* Experimental feature: the Pump script for meta programming.
* double values streamed to an assertion are printed with enough precision
to differentiate any two different values.
* Google Test now works on Solaris and AIX.
* Build and test script improvements.
* Bug fixes and implementation clean-ups.
Potentially breaking changes:
* Stopped supporting VC++ 7.1 with exceptions disabled.
* Dropped support for 'make install'.
Changes for 1.4.0:
* New feature: the event listener API
* New feature: test shuffling
* New feature: the XML report format is closer to junitreport and can
be parsed by Hudson now.
* New feature: when a test runs under Visual Studio, its failures are
integrated in the IDE.
* New feature: /MD(d) versions of VC++ projects.
* New feature: elapsed time for the tests is printed by default.
* New feature: comes with a TR1 tuple implementation such that Boost
is no longer needed for Combine().
* New feature: EXPECT_DEATH_IF_SUPPORTED macro and friends.
* New feature: the Xcode project can now produce static gtest
libraries in addition to a framework.
* Compatibility fixes for Solaris, Cygwin, minGW, Windows Mobile,
Symbian, gcc, and C++Builder.
* Bug fixes and implementation clean-ups.
Changes for 1.3.0:
* New feature: death tests on Windows, Cygwin, and Mac.
* New feature: ability to use Google Test assertions in other testing
frameworks.
* New feature: ability to run disabled test via
--gtest_also_run_disabled_tests.
* New feature: the --help flag for printing the usage.
* New feature: access to Google Test flag values in user code.
* New feature: a script that packs Google Test into one .h and one
.cc file for easy deployment.
* New feature: support for distributing test functions to multiple
machines (requires support from the test runner).
* Bug fixes and implementation clean-ups.
Changes for 1.2.1:
* Compatibility fixes for Linux IA-64 and IBM z/OS.
* Added support for using Boost and other TR1 implementations.
* Changes to the build scripts to support upcoming release of Google C++
Mocking Framework.
* Added Makefile to the distribution package.
* Improved build instructions in README.
Changes for 1.2.0:
* New feature: value-parameterized tests.
* New feature: the ASSERT/EXPECT_(NON)FATAL_FAILURE(_ON_ALL_THREADS)
macros.
* Changed the XML report format to match JUnit/Ant's.
* Added tests to the Xcode project.
* Added scons/SConscript for building with SCons.
* Added src/gtest-all.cc for building Google Test from a single file.
* Fixed compatibility with Solaris and z/OS.
* Enabled running Python tests on systems with python 2.3 installed,
e.g. Mac OS X 10.4.
* Bug fixes.
Changes for 1.1.0:
* New feature: type-parameterized tests.
* New feature: exception assertions.
* New feature: printing elapsed time of tests.
* Improved the robustness of death tests.
* Added an Xcode project and samples.
* Adjusted the output format on Windows to be understandable by Visual Studio.
* Minor bug fixes.
Changes for 1.0.1:
* Added project files for Visual Studio 7.1.
* Fixed issues with compiling on Mac OS X.
* Fixed issues with compiling on Cygwin.
Changes for 1.0.0:
* Initial Open Source release of Google Test
third_party/googletest/src/CMakeLists.txt
0 → 100755
View file @
07c71ef7
########################################################################
# CMake build script for Google Test.
#
# To run the tests for Google Test itself on Linux, use 'make test' or
# ctest. You can select which tests to run using 'ctest -R regex'.
# For more options, run 'ctest --help'.
# BUILD_SHARED_LIBS is a standard CMake variable, but we declare it here to
# make it prominent in the GUI.
option
(
BUILD_SHARED_LIBS
"Build shared libraries (DLLs)."
OFF
)
# When other libraries are using a shared version of runtime libraries,
# Google Test also has to use one.
option
(
gtest_force_shared_crt
"Use shared (DLL) run-time lib even when Google Test is built as static lib."
OFF
)
option
(
gtest_build_tests
"Build all of gtest's own tests."
OFF
)
option
(
gtest_build_samples
"Build gtest's sample programs."
OFF
)
option
(
gtest_disable_pthreads
"Disable uses of pthreads in gtest."
OFF
)
# Defines pre_project_set_up_hermetic_build() and set_up_hermetic_build().
include
(
cmake/hermetic_build.cmake OPTIONAL
)
if
(
COMMAND pre_project_set_up_hermetic_build
)
pre_project_set_up_hermetic_build
()
endif
()
########################################################################
#
# Project-wide settings
# Name of the project.
#
# CMake files in this project can refer to the root source directory
# as ${gtest_SOURCE_DIR} and to the root binary directory as
# ${gtest_BINARY_DIR}.
# Language "C" is required for find_package(Threads).
project
(
gtest CXX C
)
cmake_minimum_required
(
VERSION 2.6.2
)
if
(
COMMAND set_up_hermetic_build
)
set_up_hermetic_build
()
endif
()
# Define helper functions and macros used by Google Test.
include
(
cmake/internal_utils.cmake
)
config_compiler_and_linker
()
# Defined in internal_utils.cmake.
# Where Google Test's .h files can be found.
include_directories
(
${
gtest_SOURCE_DIR
}
/include
${
gtest_SOURCE_DIR
}
)
# Where Google Test's libraries can be found.
link_directories
(
${
gtest_BINARY_DIR
}
/src
)
########################################################################
#
# Defines the gtest & gtest_main libraries. User tests should link
# with one of them.
# Google Test libraries. We build them using more strict warnings than what
# are used for other targets, to ensure that gtest can be compiled by a user
# aggressive about warnings.
cxx_library
(
gtest
"
${
cxx_strict
}
"
src/gtest-all.cc
)
cxx_library
(
gtest_main
"
${
cxx_strict
}
"
src/gtest_main.cc
)
target_link_libraries
(
gtest_main gtest
)
########################################################################
#
# Samples on how to link user tests with gtest or gtest_main.
#
# They are not built by default. To build them, set the
# gtest_build_samples option to ON. You can do it by running ccmake
# or specifying the -Dbuild_gtest_samples=ON flag when running cmake.
if
(
gtest_build_samples
)
cxx_executable
(
sample1_unittest samples gtest_main samples/sample1.cc
)
cxx_executable
(
sample2_unittest samples gtest_main samples/sample2.cc
)
cxx_executable
(
sample3_unittest samples gtest_main
)
cxx_executable
(
sample4_unittest samples gtest_main samples/sample4.cc
)
cxx_executable
(
sample5_unittest samples gtest_main samples/sample1.cc
)
cxx_executable
(
sample6_unittest samples gtest_main
)
cxx_executable
(
sample7_unittest samples gtest_main
)
cxx_executable
(
sample8_unittest samples gtest_main
)
cxx_executable
(
sample9_unittest samples gtest
)
cxx_executable
(
sample10_unittest samples gtest
)
endif
()
########################################################################
#
# Google Test's own tests.
#
# You can skip this section if you aren't interested in testing
# Google Test itself.
#
# The tests are not built by default. To build them, set the
# gtest_build_tests option to ON. You can do it by running ccmake
# or specifying the -Dgtest_build_tests=ON flag when running cmake.
if
(
gtest_build_tests
)
# This must be set in the root directory for the tests to be run by
# 'make test' or ctest.
enable_testing
()
############################################################
# C++ tests built with standard compiler flags.
cxx_test
(
gtest-death-test_test gtest_main
)
cxx_test
(
gtest_environment_test gtest
)
cxx_test
(
gtest-filepath_test gtest_main
)
cxx_test
(
gtest-linked_ptr_test gtest_main
)
cxx_test
(
gtest-listener_test gtest_main
)
cxx_test
(
gtest_main_unittest gtest_main
)
cxx_test
(
gtest-message_test gtest_main
)
cxx_test
(
gtest_no_test_unittest gtest
)
cxx_test
(
gtest-options_test gtest_main
)
cxx_test
(
gtest-param-test_test gtest
test/gtest-param-test2_test.cc
)
cxx_test
(
gtest-port_test gtest_main
)
cxx_test
(
gtest_pred_impl_unittest gtest_main
)
cxx_test
(
gtest-printers_test gtest_main
)
cxx_test
(
gtest_prod_test gtest_main
test/production.cc
)
cxx_test
(
gtest_repeat_test gtest
)
cxx_test
(
gtest_sole_header_test gtest_main
)
cxx_test
(
gtest_stress_test gtest
)
cxx_test
(
gtest-test-part_test gtest_main
)
cxx_test
(
gtest_throw_on_failure_ex_test gtest
)
cxx_test
(
gtest-typed-test_test gtest_main
test/gtest-typed-test2_test.cc
)
cxx_test
(
gtest_unittest gtest_main
)
cxx_test
(
gtest-unittest-api_test gtest
)
############################################################
# C++ tests built with non-standard compiler flags.
cxx_library
(
gtest_no_exception
"
${
cxx_no_exception
}
"
src/gtest-all.cc
)
cxx_library
(
gtest_main_no_exception
"
${
cxx_no_exception
}
"
src/gtest-all.cc src/gtest_main.cc
)
cxx_library
(
gtest_main_no_rtti
"
${
cxx_no_rtti
}
"
src/gtest-all.cc src/gtest_main.cc
)
cxx_test_with_flags
(
gtest-death-test_ex_nocatch_test
"
${
cxx_exception
}
-DGTEST_ENABLE_CATCH_EXCEPTIONS_=0"
gtest test/gtest-death-test_ex_test.cc
)
cxx_test_with_flags
(
gtest-death-test_ex_catch_test
"
${
cxx_exception
}
-DGTEST_ENABLE_CATCH_EXCEPTIONS_=1"
gtest test/gtest-death-test_ex_test.cc
)
cxx_test_with_flags
(
gtest_no_rtti_unittest
"
${
cxx_no_rtti
}
"
gtest_main_no_rtti test/gtest_unittest.cc
)
cxx_shared_library
(
gtest_dll
"
${
cxx_default
}
"
src/gtest-all.cc src/gtest_main.cc
)
cxx_executable_with_flags
(
gtest_dll_test_
"
${
cxx_default
}
"
gtest_dll test/gtest_all_test.cc
)
set_target_properties
(
gtest_dll_test_
PROPERTIES
COMPILE_DEFINITIONS
"GTEST_LINKED_AS_SHARED_LIBRARY=1"
)
if
(
NOT MSVC OR NOT MSVC_VERSION EQUAL 1600
)
# The C++ Standard specifies tuple_element<int, class>.
# Yet MSVC 10's <utility> declares tuple_element<size_t, class>.
# That declaration conflicts with our own standard-conforming
# tuple implementation. Therefore using our own tuple with
# MSVC 10 doesn't compile.
cxx_library
(
gtest_main_use_own_tuple
"
${
cxx_use_own_tuple
}
"
src/gtest-all.cc src/gtest_main.cc
)
cxx_test_with_flags
(
gtest-tuple_test
"
${
cxx_use_own_tuple
}
"
gtest_main_use_own_tuple test/gtest-tuple_test.cc
)
cxx_test_with_flags
(
gtest_use_own_tuple_test
"
${
cxx_use_own_tuple
}
"
gtest_main_use_own_tuple
test/gtest-param-test_test.cc test/gtest-param-test2_test.cc
)
endif
()
############################################################
# Python tests.
cxx_executable
(
gtest_break_on_failure_unittest_ test gtest
)
py_test
(
gtest_break_on_failure_unittest
)
cxx_executable_with_flags
(
gtest_catch_exceptions_no_ex_test_
"
${
cxx_no_exception
}
"
gtest_main_no_exception
test/gtest_catch_exceptions_test_.cc
)
cxx_executable_with_flags
(
gtest_catch_exceptions_ex_test_
"
${
cxx_exception
}
"
gtest_main
test/gtest_catch_exceptions_test_.cc
)
py_test
(
gtest_catch_exceptions_test
)
cxx_executable
(
gtest_color_test_ test gtest
)
py_test
(
gtest_color_test
)
cxx_executable
(
gtest_env_var_test_ test gtest
)
py_test
(
gtest_env_var_test
)
cxx_executable
(
gtest_filter_unittest_ test gtest
)
py_test
(
gtest_filter_unittest
)
cxx_executable
(
gtest_help_test_ test gtest_main
)
py_test
(
gtest_help_test
)
cxx_executable
(
gtest_list_tests_unittest_ test gtest
)
py_test
(
gtest_list_tests_unittest
)
cxx_executable
(
gtest_output_test_ test gtest
)
py_test
(
gtest_output_test
)
cxx_executable
(
gtest_shuffle_test_ test gtest
)
py_test
(
gtest_shuffle_test
)
cxx_executable
(
gtest_throw_on_failure_test_ test gtest_no_exception
)
set_target_properties
(
gtest_throw_on_failure_test_
PROPERTIES
COMPILE_FLAGS
"
${
cxx_no_exception
}
"
)
py_test
(
gtest_throw_on_failure_test
)
cxx_executable
(
gtest_uninitialized_test_ test gtest
)
py_test
(
gtest_uninitialized_test
)
cxx_executable
(
gtest_xml_outfile1_test_ test gtest_main
)
cxx_executable
(
gtest_xml_outfile2_test_ test gtest_main
)
py_test
(
gtest_xml_outfiles_test
)
cxx_executable
(
gtest_xml_output_unittest_ test gtest
)
py_test
(
gtest_xml_output_unittest
)
endif
()
third_party/googletest/src/CONTRIBUTORS
0 → 100755
View file @
07c71ef7
# This file contains a list of people who've made non-trivial
# contribution to the Google C++ Testing Framework project. People
# who commit code to the project are encouraged to add their names
# here. Please keep the list sorted by first names.
Ajay Joshi <jaj@google.com>
Balázs Dán <balazs.dan@gmail.com>
Bharat Mediratta <bharat@menalto.com>
Chandler Carruth <chandlerc@google.com>
Chris Prince <cprince@google.com>
Chris Taylor <taylorc@google.com>
Dan Egnor <egnor@google.com>
Eric Roman <eroman@chromium.org>
Hady Zalek <hady.zalek@gmail.com>
Jeffrey Yasskin <jyasskin@google.com>
Jói Sigurðsson <joi@google.com>