Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Internal Change PiperOrigin-RevId: 253581166
- Loading branch information
1 parent
176eccf
commit d1185b9
Showing
8 changed files
with
845 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
# Note: automake support is community-based. The maintainers do not use automake | ||
# internally. | ||
|
||
## Process this file with automake to produce Makefile.in | ||
|
||
AUTOMAKE_OPTIONS = foreign | ||
|
||
# Build . before src so that our all-local and clean-local hooks kicks in at | ||
# the right time. | ||
SUBDIRS = googletest googlemock | ||
|
||
EXTRA_DIST = \ | ||
BUILD.bazel \ | ||
CMakeLists.txt \ | ||
README.md \ | ||
WORKSPACE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
#!/usr/bin/env bash | ||
# Copyright 2017 Google Inc. | ||
# All Rights Reserved. | ||
# | ||
# | ||
# Redistribution and use in source and binary forms, with or without | ||
# modification, are permitted provided that the following conditions are | ||
# met: | ||
# | ||
# * Redistributions of source code must retain the above copyright | ||
# notice, this list of conditions and the following disclaimer. | ||
# * Redistributions in binary form must reproduce the above | ||
# copyright notice, this list of conditions and the following disclaimer | ||
# in the documentation and/or other materials provided with the | ||
# distribution. | ||
# * Neither the name of Google Inc. nor the names of its | ||
# contributors may be used to endorse or promote products derived from | ||
# this software without specific prior written permission. | ||
# | ||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
|
||
set -e | ||
|
||
. ci/get-nprocessors.sh | ||
|
||
# Create the configuration script | ||
autoreconf -i | ||
|
||
# Run in a subdirectory to keep the sources clean | ||
mkdir build || true | ||
cd build | ||
../configure | ||
|
||
make -j ${NPROCESSORS:-2} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
# Note: automake support is community-based. The maintainers do not use automake | ||
# internally. | ||
|
||
AC_INIT([Google C++ Mocking and Testing Frameworks], | ||
[1.9.0], | ||
[googlemock@googlegroups.com], | ||
[googletest]) | ||
|
||
# Provide various options to initialize the Autoconf and configure processes. | ||
AC_PREREQ([2.59]) | ||
AC_CONFIG_SRCDIR([./README.md]) | ||
AC_CONFIG_AUX_DIR([build-aux]) | ||
AC_CONFIG_FILES([Makefile]) | ||
AC_CONFIG_SUBDIRS([googletest googlemock]) | ||
|
||
AM_INIT_AUTOMAKE | ||
|
||
# Output the generated files. No further autoconf macros may be used. | ||
AC_OUTPUT |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,221 @@ | ||
# Note: automake support is community-based. The maintainers do not use automake | ||
# internally. | ||
|
||
# Automake file | ||
|
||
ACLOCAL_AMFLAGS = -I m4 | ||
|
||
# Nonstandard package files for distribution. | ||
EXTRA_DIST = LICENSE | ||
|
||
# We may need to build our internally packaged gtest. If so, it will be | ||
# included in the 'subdirs' variable. | ||
SUBDIRS = $(subdirs) | ||
|
||
# This is generated by the configure script, so clean it for distribution. | ||
DISTCLEANFILES = scripts/gmock-config | ||
|
||
# We define the global AM_CPPFLAGS as everything we compile includes from these | ||
# directories. | ||
AM_CPPFLAGS = $(GTEST_CPPFLAGS) -I$(srcdir)/include | ||
|
||
# Modifies compiler and linker flags for pthreads compatibility. | ||
if HAVE_PTHREADS | ||
AM_CXXFLAGS = @PTHREAD_CFLAGS@ -DGTEST_HAS_PTHREAD=1 | ||
AM_LIBS = @PTHREAD_LIBS@ | ||
endif | ||
|
||
# Build rules for libraries. | ||
lib_LTLIBRARIES = lib/libgmock.la lib/libgmock_main.la | ||
|
||
lib_libgmock_la_SOURCES = src/gmock-all.cc | ||
|
||
pkginclude_HEADERS = \ | ||
include/gmock/gmock-actions.h \ | ||
include/gmock/gmock-cardinalities.h \ | ||
include/gmock/gmock-function-mocker.h \ | ||
include/gmock/gmock-generated-actions.h \ | ||
include/gmock/gmock-generated-function-mockers.h \ | ||
include/gmock/gmock-generated-matchers.h \ | ||
include/gmock/gmock-matchers.h \ | ||
include/gmock/gmock-more-actions.h \ | ||
include/gmock/gmock-more-matchers.h \ | ||
include/gmock/gmock-nice-strict.h \ | ||
include/gmock/gmock-spec-builders.h \ | ||
include/gmock/gmock.h | ||
|
||
pkginclude_internaldir = $(pkgincludedir)/internal | ||
pkginclude_internal_HEADERS = \ | ||
include/gmock/internal/gmock-internal-utils.h \ | ||
include/gmock/internal/gmock-port.h \ | ||
include/gmock/internal/gmock-pp.h \ | ||
include/gmock/internal/custom/gmock-generated-actions.h \ | ||
include/gmock/internal/custom/gmock-matchers.h \ | ||
include/gmock/internal/custom/gmock-port.h | ||
|
||
lib_libgmock_main_la_SOURCES = src/gmock_main.cc | ||
lib_libgmock_main_la_LIBADD = lib/libgmock.la | ||
|
||
# Build rules for tests. Automake's naming for some of these variables isn't | ||
# terribly obvious, so this is a brief reference: | ||
# | ||
# TESTS -- Programs run automatically by "make check" | ||
# check_PROGRAMS -- Programs built by "make check" but not necessarily run | ||
|
||
TESTS= | ||
check_PROGRAMS= | ||
AM_LDFLAGS = $(GTEST_LDFLAGS) | ||
|
||
# This exercises all major components of Google Mock. It also | ||
# verifies that libgmock works. | ||
TESTS += test/gmock-spec-builders_test | ||
check_PROGRAMS += test/gmock-spec-builders_test | ||
test_gmock_spec_builders_test_SOURCES = test/gmock-spec-builders_test.cc | ||
test_gmock_spec_builders_test_LDADD = $(GTEST_LIBS) lib/libgmock.la | ||
|
||
# This tests using Google Mock in multiple translation units. It also | ||
# verifies that libgmock_main and libgmock work. | ||
TESTS += test/gmock_link_test | ||
check_PROGRAMS += test/gmock_link_test | ||
test_gmock_link_test_SOURCES = \ | ||
test/gmock_link2_test.cc \ | ||
test/gmock_link_test.cc \ | ||
test/gmock_link_test.h | ||
test_gmock_link_test_LDADD = $(GTEST_LIBS) lib/libgmock_main.la lib/libgmock.la | ||
|
||
if HAVE_PYTHON | ||
# Tests that fused gmock files compile and work. | ||
TESTS += test/gmock_fused_test | ||
check_PROGRAMS += test/gmock_fused_test | ||
test_gmock_fused_test_SOURCES = \ | ||
fused-src/gmock-gtest-all.cc \ | ||
fused-src/gmock/gmock.h \ | ||
fused-src/gmock_main.cc \ | ||
fused-src/gtest/gtest.h \ | ||
test/gmock_test.cc | ||
test_gmock_fused_test_CPPFLAGS = -I"$(srcdir)/fused-src" | ||
endif | ||
|
||
# Google Mock source files that we don't compile directly. | ||
GMOCK_SOURCE_INGLUDES = \ | ||
src/gmock-cardinalities.cc \ | ||
src/gmock-internal-utils.cc \ | ||
src/gmock-matchers.cc \ | ||
src/gmock-spec-builders.cc \ | ||
src/gmock.cc | ||
|
||
EXTRA_DIST += $(GMOCK_SOURCE_INGLUDES) | ||
|
||
# C++ tests that we don't compile using autotools. | ||
EXTRA_DIST += \ | ||
test/gmock-actions_test.cc \ | ||
test/gmock_all_test.cc \ | ||
test/gmock-cardinalities_test.cc \ | ||
test/gmock_ex_test.cc \ | ||
test/gmock-generated-actions_test.cc \ | ||
test/gmock-function-mocker_test.cc \ | ||
test/gmock-generated-function-mockers_test.cc \ | ||
test/gmock-generated-matchers_test.cc \ | ||
test/gmock-internal-utils_test.cc \ | ||
test/gmock-matchers_test.cc \ | ||
test/gmock-more-actions_test.cc \ | ||
test/gmock-nice-strict_test.cc \ | ||
test/gmock-port_test.cc \ | ||
test/gmock_stress_test.cc | ||
|
||
# Python tests, which we don't run using autotools. | ||
EXTRA_DIST += \ | ||
test/gmock_leak_test.py \ | ||
test/gmock_leak_test_.cc \ | ||
test/gmock_output_test.py \ | ||
test/gmock_output_test_.cc \ | ||
test/gmock_output_test_golden.txt \ | ||
test/gmock_test_utils.py | ||
|
||
# Nonstandard package files for distribution. | ||
EXTRA_DIST += \ | ||
CONTRIBUTORS \ | ||
make/Makefile | ||
|
||
# Pump scripts for generating Google Mock headers. | ||
EXTRA_DIST += \ | ||
include/gmock/gmock-generated-actions.h.pump \ | ||
include/gmock/gmock-generated-function-mockers.h.pump \ | ||
include/gmock/gmock-generated-matchers.h.pump \ | ||
include/gmock/internal/custom/gmock-generated-actions.h.pump | ||
|
||
# Script for fusing Google Mock and Google Test source files. | ||
EXTRA_DIST += scripts/fuse_gmock_files.py | ||
|
||
# The Google Mock Generator tool from the cppclean project. | ||
EXTRA_DIST += \ | ||
scripts/generator/LICENSE \ | ||
scripts/generator/README \ | ||
scripts/generator/README.cppclean \ | ||
scripts/generator/cpp/__init__.py \ | ||
scripts/generator/cpp/ast.py \ | ||
scripts/generator/cpp/gmock_class.py \ | ||
scripts/generator/cpp/keywords.py \ | ||
scripts/generator/cpp/tokenize.py \ | ||
scripts/generator/cpp/utils.py \ | ||
scripts/generator/gmock_gen.py | ||
|
||
# CMake scripts. | ||
EXTRA_DIST += \ | ||
CMakeLists.txt | ||
|
||
# Microsoft Visual Studio 2005 projects. | ||
EXTRA_DIST += \ | ||
msvc/2005/gmock.sln \ | ||
msvc/2005/gmock.vcproj \ | ||
msvc/2005/gmock_config.vsprops \ | ||
msvc/2005/gmock_main.vcproj \ | ||
msvc/2005/gmock_test.vcproj | ||
|
||
# Microsoft Visual Studio 2010 projects. | ||
EXTRA_DIST += \ | ||
msvc/2010/gmock.sln \ | ||
msvc/2010/gmock.vcxproj \ | ||
msvc/2010/gmock_config.props \ | ||
msvc/2010/gmock_main.vcxproj \ | ||
msvc/2010/gmock_test.vcxproj | ||
|
||
if HAVE_PYTHON | ||
# gmock_test.cc does not really depend on files generated by the | ||
# fused-gmock-internal rule. However, gmock_test.o does, and it is | ||
# important to include test/gmock_test.cc as part of this rule in order to | ||
# prevent compiling gmock_test.o until all dependent files have been | ||
# generated. | ||
$(test_gmock_fused_test_SOURCES): fused-gmock-internal | ||
|
||
fused-gmock-internal: $(pkginclude_HEADERS) $(pkginclude_internal_HEADERS) \ | ||
$(lib_libgmock_la_SOURCES) $(GMOCK_SOURCE_INGLUDES) \ | ||
$(lib_libgmock_main_la_SOURCES) \ | ||
scripts/fuse_gmock_files.py | ||
mkdir -p "$(srcdir)/fused-src" | ||
chmod -R u+w "$(srcdir)/fused-src" | ||
rm -f "$(srcdir)/fused-src/gtest/gtest.h" | ||
rm -f "$(srcdir)/fused-src/gmock/gmock.h" | ||
rm -f "$(srcdir)/fused-src/gmock-gtest-all.cc" | ||
"$(srcdir)/scripts/fuse_gmock_files.py" "$(srcdir)/fused-src" | ||
cp -f "$(srcdir)/src/gmock_main.cc" "$(srcdir)/fused-src" | ||
|
||
maintainer-clean-local: | ||
rm -rf "$(srcdir)/fused-src" | ||
endif | ||
|
||
# Death tests may produce core dumps in the build directory. In case | ||
# this happens, clean them to keep distcleancheck happy. | ||
CLEANFILES = core | ||
|
||
# Disables 'make install' as installing a compiled version of Google | ||
# Mock can lead to undefined behavior due to violation of the | ||
# One-Definition Rule. | ||
|
||
install-exec-local: | ||
echo "'make install' is dangerous and not supported. Instead, see README for how to integrate Google Mock into your build system." | ||
false | ||
|
||
install-data-local: | ||
echo "'make install' is dangerous and not supported. Instead, see README for how to integrate Google Mock into your build system." | ||
false |
Oops, something went wrong.