You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by al...@apache.org on 2022/09/01 16:40:25 UTC
[kudu] branch master updated: [thirdparty] update googletest up to 1.12.1 version
This is an automated email from the ASF dual-hosted git repository.
alexey pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kudu.git
The following commit(s) were added to refs/heads/master by this push:
new 9a8570b9c [thirdparty] update googletest up to 1.12.1 version
9a8570b9c is described below
commit 9a8570b9c6b3d4e24e47ca830c089ab04667ef41
Author: Alexey Serbin <al...@apache.org>
AuthorDate: Wed Aug 24 18:08:33 2022 -0700
[thirdparty] update googletest up to 1.12.1 version
Along with other fixes and updates, googletest v1.12.1 includes the fix
that allows for building the library with CLANG 13 and newer [1].
[1] https://github.com/google/googletest/issues/3427
Change-Id: Ic1a398cbb93a6edb918e84e05927feb4b067058c
Reviewed-on: http://gerrit.cloudera.org:8080/18922
Reviewed-by: Attila Bukor <ab...@apache.org>
Tested-by: Alexey Serbin <al...@apache.org>
---
build-support/iwyu/mappings/gmock.imp | 31 +++
build-support/iwyu/mappings/gtest.imp | 14 +-
src/kudu/client/client-test.cc | 2 +-
src/kudu/codegen/codegen-test.cc | 3 +-
src/kudu/tools/kudu-tool-test.cc | 2 +-
src/kudu/util/logging-test.cc | 3 +-
thirdparty/build-definitions.sh | 8 +
thirdparty/download-thirdparty.sh | 2 +-
.../gmock-remove-unused-gunit-iwyu-pragma.patch | 11 -
thirdparty/patches/gmock-update-iwyu-pragma.patch | 287 +++++++++++++++++++++
thirdparty/vars.sh | 2 +-
11 files changed, 343 insertions(+), 22 deletions(-)
diff --git a/build-support/iwyu/mappings/gmock.imp b/build-support/iwyu/mappings/gmock.imp
new file mode 100644
index 000000000..0bbafd6f1
--- /dev/null
+++ b/build-support/iwyu/mappings/gmock.imp
@@ -0,0 +1,31 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+[
+ { include: [ "<gmock/gmock-actions.h>", private, "<gmock/gmock.h>", public ] },
+ { include: [ "<gmock/gmock-cardinalities.h>", private, "<gmock/gmock.h>", public ] },
+ { include: [ "<gmock/gmock-function-mocker.h>", private, "<gmock/gmock.h>", public ] },
+ { include: [ "<gmock/gmock-matchers.h>", private, "<gmock/gmock.h>", public ] },
+ { include: [ "<gmock/gmock-more-actions.h>", private, "<gmock/gmock.h>", public ] },
+ { include: [ "<gmock/gmock-more-matchers.h>", private, "<gmock/gmock.h>", public ] },
+ { include: [ "<gmock/gmock-nice-strict.h>", private, "<gmock/gmock.h>", public ] },
+ { include: [ "<gmock/gmock-spec-builders.h>", private, "<gmock/gmock.h>", public ] },
+ { include: [ "<gmock/internal/custom/gmock-generated-actions.h>", private, "<gmock/gmock.h>", public ] },
+ { include: [ "<gmock/internal/custom/gmock-matchers.h>", private, "<gmock/gmock.h>", public ] },
+ { include: [ "<gmock/internal/custom/gmock-port.h>", private, "<gmock/gmock.h>", public ] },
+ { include: [ "<gmock/internal/gmock-internal-utils.h>", private, "<gmock/gmock.h>", public ] },
+ { include: [ "<gmock/internal/gmock-port.h>", private, "<gmock/gmock.h>", public ] }
+]
diff --git a/build-support/iwyu/mappings/gtest.imp b/build-support/iwyu/mappings/gtest.imp
index a54165027..cac2203d6 100644
--- a/build-support/iwyu/mappings/gtest.imp
+++ b/build-support/iwyu/mappings/gtest.imp
@@ -15,12 +15,20 @@
# specific language governing permissions and limitations
# under the License.
[
- { include: [ "<gtest/internal/gtest-internal.h>", private, "<gtest/gtest.h>", public ] },
- { include: [ "<gtest/internal/gtest-string.h>", private, "<gtest/gtest.h>", public ] },
+ { include: [ "<gtest/gtest-assertion-result.h>", private, "<gtest/gtest.h>", public ] },
{ include: [ "<gtest/gtest-death-test.h>", private, "<gtest/gtest.h>", public ] },
+ { include: [ "<gtest/gtest-matchers.h>", private, "<gtest/gtest.h>", public ] },
{ include: [ "<gtest/gtest-message.h>", private, "<gtest/gtest.h>", public ] },
{ include: [ "<gtest/gtest-param-test.h>", private, "<gtest/gtest.h>", public ] },
{ include: [ "<gtest/gtest-printers.h>", private, "<gtest/gtest.h>", public ] },
{ include: [ "<gtest/gtest-test-part.h>", private, "<gtest/gtest.h>", public ] },
- { include: [ "<gtest/gtest-typed-test.h>", private, "<gtest/gtest.h>", public ] }
+ { include: [ "<gtest/gtest-typed-test.h>", private, "<gtest/gtest.h>", public ] },
+ { include: [ "<gtest/gtest_pred_impl.h>", private, "<gtest/gtest.h>", public ] },
+ { include: [ "<gtest/internal/gtest-death-test-internal.h>", private, "<gtest/gtest.h>", public ] },
+ { include: [ "<gtest/internal/gtest-filepath.h>", private, "<gtest/gtest.h>", public ] },
+ { include: [ "<gtest/internal/gtest-internal.h>", private, "<gtest/gtest.h>", public ] },
+ { include: [ "<gtest/internal/gtest-param-util.h>", private, "<gtest/gtest.h>", public ] },
+ { include: [ "<gtest/internal/gtest-port.h>", private, "<gtest/gtest.h>", public ] },
+ { include: [ "<gtest/internal/gtest-string.h>", private, "<gtest/gtest.h>", public ] },
+ { include: [ "<gtest/internal/gtest-type-util.h>", private, "<gtest/gtest.h>", public ] }
]
diff --git a/src/kudu/client/client-test.cc b/src/kudu/client/client-test.cc
index f649cd488..7b59cbe57 100644
--- a/src/kudu/client/client-test.cc
+++ b/src/kudu/client/client-test.cc
@@ -42,7 +42,7 @@
#include <gflags/gflags.h>
#include <glog/logging.h>
#include <glog/stl_logging.h>
-#include <gmock/gmock-matchers.h>
+#include <gmock/gmock.h>
#include <google/protobuf/util/message_differencer.h>
#include <gtest/gtest.h>
diff --git a/src/kudu/codegen/codegen-test.cc b/src/kudu/codegen/codegen-test.cc
index 0dca7035f..eb2a840f0 100644
--- a/src/kudu/codegen/codegen-test.cc
+++ b/src/kudu/codegen/codegen-test.cc
@@ -27,8 +27,7 @@
#include <gflags/gflags_declare.h>
#include <glog/logging.h>
#include <glog/stl_logging.h> // IWYU pragma: keep
-#include <gmock/gmock-matchers.h>
-#include <gtest/gtest-matchers.h>
+#include <gmock/gmock.h>
#include <gtest/gtest.h>
#include "kudu/codegen/code_generator.h"
diff --git a/src/kudu/tools/kudu-tool-test.cc b/src/kudu/tools/kudu-tool-test.cc
index 064f1cad4..a0c89b40c 100644
--- a/src/kudu/tools/kudu-tool-test.cc
+++ b/src/kudu/tools/kudu-tool-test.cc
@@ -41,7 +41,7 @@
#include <gflags/gflags_declare.h>
#include <glog/logging.h>
#include <glog/stl_logging.h>
-#include <gmock/gmock-matchers.h>
+#include <gmock/gmock.h>
#include <gtest/gtest.h>
#include <rapidjson/document.h>
diff --git a/src/kudu/util/logging-test.cc b/src/kudu/util/logging-test.cc
index 5514df99d..9f63cb7a7 100644
--- a/src/kudu/util/logging-test.cc
+++ b/src/kudu/util/logging-test.cc
@@ -28,8 +28,7 @@
#include <vector>
#include <glog/logging.h>
-#include <gmock/gmock-matchers.h>
-#include <gtest/gtest-matchers.h>
+#include <gmock/gmock.h>
#include <gtest/gtest.h>
#include "kudu/gutil/strings/substitute.h"
diff --git a/thirdparty/build-definitions.sh b/thirdparty/build-definitions.sh
index eb6b94690..ced8791ca 100644
--- a/thirdparty/build-definitions.sh
+++ b/thirdparty/build-definitions.sh
@@ -510,9 +510,17 @@ build_gmock_gtest() {
# Install gmock/gtest libraries and headers manually instead of using make
# install. Make install results in libraries with a malformed lib name on
# macOS.
+ if [ -n "$OS_LINUX" ]; then
+ local ver_suffix=${DYLIB_SUFFIX}.${GMOCK_VERSION}
+ else
+ # on macOS the naming of versioned libraries differ from what it's on Linux
+ local ver_suffix=${GMOCK_VERSION}.${DYLIB_SUFFIX}
+ fi
echo Installing gmock and gtest...
+ cp -a $GMOCK_SHARED_BDIR/lib/libgmock.$ver_suffix $PREFIX/lib/
cp -a $GMOCK_SHARED_BDIR/lib/libgmock.$DYLIB_SUFFIX $PREFIX/lib/
cp -a $GMOCK_STATIC_BDIR/lib/libgmock.a $PREFIX/lib/
+ cp -a $GMOCK_SHARED_BDIR/lib/libgtest.$ver_suffix $PREFIX/lib/
cp -a $GMOCK_SHARED_BDIR/lib/libgtest.$DYLIB_SUFFIX $PREFIX/lib/
cp -a $GMOCK_STATIC_BDIR/lib/libgtest.a $PREFIX/lib/
rsync -av $GMOCK_SOURCE/googlemock/include/ $PREFIX/include/
diff --git a/thirdparty/download-thirdparty.sh b/thirdparty/download-thirdparty.sh
index f54a3f92d..20425f79b 100755
--- a/thirdparty/download-thirdparty.sh
+++ b/thirdparty/download-thirdparty.sh
@@ -183,7 +183,7 @@ fetch_and_patch \
googletest-release-${GMOCK_VERSION}.tar.gz \
$GMOCK_SOURCE \
$GMOCK_PATCHLEVEL \
- "patch -p1 < $TP_DIR/patches/gmock-remove-unused-gunit-iwyu-pragma.patch"
+ "patch -p0 < $TP_DIR/patches/gmock-update-iwyu-pragma.patch"
GFLAGS_PATCHLEVEL=0
fetch_and_patch \
diff --git a/thirdparty/patches/gmock-remove-unused-gunit-iwyu-pragma.patch b/thirdparty/patches/gmock-remove-unused-gunit-iwyu-pragma.patch
deleted file mode 100644
index 907763113..000000000
--- a/thirdparty/patches/gmock-remove-unused-gunit-iwyu-pragma.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff --git a/googletest/include/gtest/gtest-matchers.h b/googletest/include/gtest/gtest-matchers.h
-index 9de6c2e1..f9ef74ef 100644
---- a/googletest/include/gtest/gtest-matchers.h
-+++ b/googletest/include/gtest/gtest-matchers.h
-@@ -32,7 +32,6 @@
- // This file implements just enough of the matcher interface to allow
- // EXPECT_DEATH and friends to accept a matcher argument.
-
--// IWYU pragma: private, include "testing/base/public/gunit.h"
- // IWYU pragma: friend third_party/googletest/googlemock/.*
- // IWYU pragma: friend third_party/googletest/googletest/.*
diff --git a/thirdparty/patches/gmock-update-iwyu-pragma.patch b/thirdparty/patches/gmock-update-iwyu-pragma.patch
new file mode 100644
index 000000000..90b4bf8c5
--- /dev/null
+++ b/thirdparty/patches/gmock-update-iwyu-pragma.patch
@@ -0,0 +1,287 @@
+--- googletest/include/gtest/gtest-printers.h.orig 2022-08-30 18:09:54.000000000 -0700
++++ googletest/include/gtest/gtest-printers.h 2022-08-30 18:11:09.000000000 -0700
+@@ -94,7 +94,6 @@
+ // being defined as many user-defined container types don't have
+ // value_type.
+
+-// IWYU pragma: private, include "gtest/gtest.h"
+ // IWYU pragma: friend gtest/.*
+ // IWYU pragma: friend gmock/.*
+
+--- googletest/include/gtest/gtest-test-part.h.orig 2022-08-30 18:09:54.000000000 -0700
++++ googletest/include/gtest/gtest-test-part.h 2022-08-30 18:11:13.000000000 -0700
+@@ -27,7 +27,6 @@
+ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+-// IWYU pragma: private, include "gtest/gtest.h"
+ // IWYU pragma: friend gtest/.*
+ // IWYU pragma: friend gmock/.*
+
+--- googletest/include/gtest/gtest-death-test.h.orig 2022-08-30 18:09:54.000000000 -0700
++++ googletest/include/gtest/gtest-death-test.h 2022-08-30 18:10:59.000000000 -0700
+@@ -33,7 +33,6 @@
+ // #included by gtest.h so a user doesn't need to include this
+ // directly.
+
+-// IWYU pragma: private, include "gtest/gtest.h"
+ // IWYU pragma: friend gtest/.*
+ // IWYU pragma: friend gmock/.*
+
+--- googletest/include/gtest/internal/gtest-port.h.orig 2022-08-30 18:09:54.000000000 -0700
++++ googletest/include/gtest/internal/gtest-port.h 2022-08-30 18:11:31.000000000 -0700
+@@ -38,7 +38,6 @@
+ // files are expected to #include this. Therefore, it cannot #include
+ // any other Google Test header.
+
+-// IWYU pragma: private, include "gtest/gtest.h"
+ // IWYU pragma: friend gtest/.*
+ // IWYU pragma: friend gmock/.*
+
+--- googletest/include/gtest/internal/gtest-type-util.h.orig 2022-08-30 18:09:54.000000000 -0700
++++ googletest/include/gtest/internal/gtest-type-util.h 2022-08-30 18:11:39.000000000 -0700
+@@ -30,7 +30,6 @@
+ // Type utilities needed for implementing typed and type-parameterized
+ // tests.
+
+-// IWYU pragma: private, include "gtest/gtest.h"
+ // IWYU pragma: friend gtest/.*
+ // IWYU pragma: friend gmock/.*
+
+--- googletest/include/gtest/internal/gtest-internal.h.orig 2022-08-30 18:09:54.000000000 -0700
++++ googletest/include/gtest/internal/gtest-internal.h 2022-08-30 18:11:26.000000000 -0700
+@@ -32,7 +32,6 @@
+ // This header file declares functions and macros used internally by
+ // Google Test. They are subject to change without notice.
+
+-// IWYU pragma: private, include "gtest/gtest.h"
+ // IWYU pragma: friend gtest/.*
+ // IWYU pragma: friend gmock/.*
+
+--- googletest/include/gtest/internal/gtest-death-test-internal.h.orig 2022-08-30 18:09:54.000000000 -0700
++++ googletest/include/gtest/internal/gtest-death-test-internal.h 2022-08-30 18:11:21.000000000 -0700
+@@ -32,7 +32,6 @@
+ // This header file defines internal utilities needed for implementing
+ // death tests. They are subject to change without notice.
+
+-// IWYU pragma: private, include "gtest/gtest.h"
+ // IWYU pragma: friend gtest/.*
+ // IWYU pragma: friend gmock/.*
+
+--- googletest/include/gtest/internal/gtest-filepath.h.orig 2022-08-30 18:09:54.000000000 -0700
++++ googletest/include/gtest/internal/gtest-filepath.h 2022-08-30 18:11:23.000000000 -0700
+@@ -35,7 +35,6 @@
+ // This file is #included in gtest/internal/gtest-internal.h.
+ // Do not include this header file separately!
+
+-// IWYU pragma: private, include "gtest/gtest.h"
+ // IWYU pragma: friend gtest/.*
+ // IWYU pragma: friend gmock/.*
+
+--- googletest/include/gtest/internal/gtest-string.h.orig 2022-08-30 18:09:54.000000000 -0700
++++ googletest/include/gtest/internal/gtest-string.h 2022-08-30 18:11:33.000000000 -0700
+@@ -36,7 +36,6 @@
+ // This header file is #included by gtest-internal.h.
+ // It should not be #included by other files.
+
+-// IWYU pragma: private, include "gtest/gtest.h"
+ // IWYU pragma: friend gtest/.*
+ // IWYU pragma: friend gmock/.*
+
+--- googletest/include/gtest/internal/gtest-param-util.h.orig 2022-08-30 18:09:54.000000000 -0700
++++ googletest/include/gtest/internal/gtest-param-util.h 2022-08-30 18:11:28.000000000 -0700
+@@ -29,7 +29,6 @@
+
+ // Type and function utilities for implementing parameterized tests.
+
+-// IWYU pragma: private, include "gtest/gtest.h"
+ // IWYU pragma: friend gtest/.*
+ // IWYU pragma: friend gmock/.*
+
+--- googletest/include/gtest/gtest-message.h.orig 2022-08-30 18:09:54.000000000 -0700
++++ googletest/include/gtest/gtest-message.h 2022-08-30 18:11:04.000000000 -0700
+@@ -41,7 +41,6 @@
+ // to CHANGE WITHOUT NOTICE. Therefore DO NOT DEPEND ON IT in a user
+ // program!
+
+-// IWYU pragma: private, include "gtest/gtest.h"
+ // IWYU pragma: friend gtest/.*
+ // IWYU pragma: friend gmock/.*
+
+--- googletest/include/gtest/gtest-matchers.h.orig 2022-08-30 18:09:54.000000000 -0700
++++ googletest/include/gtest/gtest-matchers.h 2022-08-30 18:11:01.000000000 -0700
+@@ -32,7 +32,6 @@
+ // This file implements just enough of the matcher interface to allow
+ // EXPECT_DEATH and friends to accept a matcher argument.
+
+-// IWYU pragma: private, include "gtest/gtest.h"
+ // IWYU pragma: friend gtest/.*
+ // IWYU pragma: friend gmock/.*
+
+--- googletest/include/gtest/gtest_pred_impl.h.orig 2022-08-30 18:09:54.000000000 -0700
++++ googletest/include/gtest/gtest_pred_impl.h 2022-08-30 18:11:18.000000000 -0700
+@@ -29,7 +29,6 @@
+ //
+ // Implements a family of generic predicate assertion macros.
+
+-// IWYU pragma: private, include "gtest/gtest.h"
+ // IWYU pragma: friend gtest/.*
+ // IWYU pragma: friend gmock/.*
+
+--- googletest/include/gtest/gtest-assertion-result.h.orig 2022-08-30 18:09:54.000000000 -0700
++++ googletest/include/gtest/gtest-assertion-result.h 2022-08-30 18:10:55.000000000 -0700
+@@ -31,7 +31,6 @@
+ //
+ // This file implements the AssertionResult type.
+
+-// IWYU pragma: private, include "gtest/gtest.h"
+ // IWYU pragma: friend gtest/.*
+ // IWYU pragma: friend gmock/.*
+
+--- googletest/include/gtest/gtest-typed-test.h.orig 2022-08-30 18:09:54.000000000 -0700
++++ googletest/include/gtest/gtest-typed-test.h 2022-08-30 18:11:15.000000000 -0700
+@@ -27,7 +27,6 @@
+ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+-// IWYU pragma: private, include "gtest/gtest.h"
+ // IWYU pragma: friend gtest/.*
+ // IWYU pragma: friend gmock/.*
+
+--- googletest/include/gtest/gtest-param-test.h.orig 2022-08-30 18:09:54.000000000 -0700
++++ googletest/include/gtest/gtest-param-test.h 2022-08-30 18:11:06.000000000 -0700
+@@ -30,7 +30,6 @@
+ // Macros and functions for implementing parameterized tests
+ // in Google C++ Testing and Mocking Framework (Google Test)
+
+-// IWYU pragma: private, include "gtest/gtest.h"
+ // IWYU pragma: friend gtest/.*
+ // IWYU pragma: friend gmock/.*
+
+--- googlemock/include/gmock/gmock-actions.h.orig 2022-08-30 21:59:24.000000000 -0700
++++ googlemock/include/gmock/gmock-actions.h 2022-08-30 22:01:17.000000000 -0700
+@@ -124,7 +124,6 @@
+ // To learn more about using these macros, please search for 'ACTION' on
+ // https://github.com/google/googletest/blob/master/docs/gmock_cook_book.md
+
+-// IWYU pragma: private, include "gmock/gmock.h"
+ // IWYU pragma: friend gmock/.*
+
+ #ifndef GOOGLEMOCK_INCLUDE_GMOCK_GMOCK_ACTIONS_H_
+--- googlemock/include/gmock/gmock-spec-builders.h.orig 2022-08-30 21:59:24.000000000 -0700
++++ googlemock/include/gmock/gmock-spec-builders.h 2022-08-30 22:01:37.000000000 -0700
+@@ -55,7 +55,6 @@
+ // where all clauses are optional, and .InSequence()/.After()/
+ // .WillOnce() can appear any number of times.
+
+-// IWYU pragma: private, include "gmock/gmock.h"
+ // IWYU pragma: friend gmock/.*
+
+ #ifndef GOOGLEMOCK_INCLUDE_GMOCK_GMOCK_SPEC_BUILDERS_H_
+--- googlemock/include/gmock/gmock-function-mocker.h.orig 2022-08-30 21:59:24.000000000 -0700
++++ googlemock/include/gmock/gmock-function-mocker.h 2022-08-30 22:01:21.000000000 -0700
+@@ -31,7 +31,6 @@
+ //
+ // This file implements MOCK_METHOD.
+
+-// IWYU pragma: private, include "gmock/gmock.h"
+ // IWYU pragma: friend gmock/.*
+
+ #ifndef GOOGLEMOCK_INCLUDE_GMOCK_INTERNAL_GMOCK_FUNCTION_MOCKER_H_ // NOLINT
+--- googlemock/include/gmock/gmock-more-matchers.h.orig 2022-08-30 21:59:24.000000000 -0700
++++ googlemock/include/gmock/gmock-more-matchers.h 2022-08-30 22:01:29.000000000 -0700
+@@ -34,7 +34,6 @@
+ // Note that tests are implemented in gmock-matchers_test.cc rather than
+ // gmock-more-matchers-test.cc.
+
+-// IWYU pragma: private, include "gmock/gmock.h"
+ // IWYU pragma: friend gmock/.*
+
+ #ifndef GOOGLEMOCK_INCLUDE_GMOCK_GMOCK_MORE_MATCHERS_H_
+--- googlemock/include/gmock/gmock-nice-strict.h.orig 2022-08-30 21:59:24.000000000 -0700
++++ googlemock/include/gmock/gmock-nice-strict.h 2022-08-30 22:01:31.000000000 -0700
+@@ -57,7 +57,6 @@
+ // In particular, nesting NiceMock, NaggyMock, and StrictMock is NOT
+ // supported.
+
+-// IWYU pragma: private, include "gmock/gmock.h"
+ // IWYU pragma: friend gmock/.*
+
+ #ifndef GOOGLEMOCK_INCLUDE_GMOCK_GMOCK_NICE_STRICT_H_
+--- googlemock/include/gmock/internal/gmock-internal-utils.h.orig 2022-08-30 21:59:24.000000000 -0700
++++ googlemock/include/gmock/internal/gmock-internal-utils.h 2022-08-30 22:01:52.000000000 -0700
+@@ -33,7 +33,6 @@
+ // Mock. They are subject to change without notice, so please DO NOT
+ // USE THEM IN USER CODE.
+
+-// IWYU pragma: private, include "gmock/gmock.h"
+ // IWYU pragma: friend gmock/.*
+
+ #ifndef GOOGLEMOCK_INCLUDE_GMOCK_INTERNAL_GMOCK_INTERNAL_UTILS_H_
+--- googlemock/include/gmock/internal/gmock-port.h.orig 2022-08-30 21:59:24.000000000 -0700
++++ googlemock/include/gmock/internal/gmock-port.h 2022-08-30 22:01:58.000000000 -0700
+@@ -34,7 +34,6 @@
+ // end with _ are part of Google Mock's public API and can be used by
+ // code outside Google Mock.
+
+-// IWYU pragma: private, include "gmock/gmock.h"
+ // IWYU pragma: friend gmock/.*
+
+ #ifndef GOOGLEMOCK_INCLUDE_GMOCK_INTERNAL_GMOCK_PORT_H_
+--- googlemock/include/gmock/internal/custom/gmock-generated-actions.h.orig 2022-08-30 21:59:24.000000000 -0700
++++ googlemock/include/gmock/internal/custom/gmock-generated-actions.h 2022-08-30 22:01:45.000000000 -0700
+@@ -1,4 +1,3 @@
+-// IWYU pragma: private, include "gmock/gmock.h"
+ // IWYU pragma: friend gmock/.*
+
+ #ifndef GOOGLEMOCK_INCLUDE_GMOCK_INTERNAL_CUSTOM_GMOCK_GENERATED_ACTIONS_H_
+--- googlemock/include/gmock/internal/custom/gmock-port.h.orig 2022-08-30 21:59:24.000000000 -0700
++++ googlemock/include/gmock/internal/custom/gmock-port.h 2022-08-30 22:01:49.000000000 -0700
+@@ -31,7 +31,6 @@
+ //
+ // ** Custom implementation starts here **
+
+-// IWYU pragma: private, include "gmock/gmock.h"
+ // IWYU pragma: friend gmock/.*
+
+ #ifndef GOOGLEMOCK_INCLUDE_GMOCK_INTERNAL_CUSTOM_GMOCK_PORT_H_
+--- googlemock/include/gmock/internal/custom/gmock-matchers.h.orig 2022-08-30 21:59:24.000000000 -0700
++++ googlemock/include/gmock/internal/custom/gmock-matchers.h 2022-08-30 22:01:47.000000000 -0700
+@@ -29,7 +29,6 @@
+
+ // Injection point for custom user configurations. See README for details
+
+-// IWYU pragma: private, include "gmock/gmock.h"
+ // IWYU pragma: friend gmock/.*
+
+ #ifndef GOOGLEMOCK_INCLUDE_GMOCK_INTERNAL_CUSTOM_GMOCK_MATCHERS_H_
+--- googlemock/include/gmock/gmock-more-actions.h.orig 2022-08-30 21:59:24.000000000 -0700
++++ googlemock/include/gmock/gmock-more-actions.h 2022-08-30 22:01:26.000000000 -0700
+@@ -31,7 +31,6 @@
+ //
+ // This file implements some commonly used variadic actions.
+
+-// IWYU pragma: private, include "gmock/gmock.h"
+ // IWYU pragma: friend gmock/.*
+
+ #ifndef GOOGLEMOCK_INCLUDE_GMOCK_GMOCK_MORE_ACTIONS_H_
+--- googlemock/include/gmock/gmock-cardinalities.h.orig 2022-08-30 21:59:24.000000000 -0700
++++ googlemock/include/gmock/gmock-cardinalities.h 2022-08-30 22:01:19.000000000 -0700
+@@ -33,7 +33,6 @@
+ // cardinalities can be defined by the user implementing the
+ // CardinalityInterface interface if necessary.
+
+-// IWYU pragma: private, include "gmock/gmock.h"
+ // IWYU pragma: friend gmock/.*
+
+ #ifndef GOOGLEMOCK_INCLUDE_GMOCK_GMOCK_CARDINALITIES_H_
+--- googlemock/include/gmock/gmock-matchers.h.orig 2022-08-30 21:59:24.000000000 -0700
++++ googlemock/include/gmock/gmock-matchers.h 2022-08-30 22:01:23.000000000 -0700
+@@ -249,7 +249,6 @@
+ // See googletest/include/gtest/gtest-matchers.h for the definition of class
+ // Matcher, class MatcherInterface, and others.
+
+-// IWYU pragma: private, include "gmock/gmock.h"
+ // IWYU pragma: friend gmock/.*
+
+ #ifndef GOOGLEMOCK_INCLUDE_GMOCK_GMOCK_MATCHERS_H_
diff --git a/thirdparty/vars.sh b/thirdparty/vars.sh
index 9232f850a..b744d4ab3 100644
--- a/thirdparty/vars.sh
+++ b/thirdparty/vars.sh
@@ -46,7 +46,7 @@ GLOG_VERSION=0.6.0
GLOG_NAME=glog-$GLOG_VERSION
GLOG_SOURCE=$TP_SOURCE_DIR/$GLOG_NAME
-GMOCK_VERSION=1.10.0
+GMOCK_VERSION=1.12.1
GMOCK_NAME=googletest-release-$GMOCK_VERSION
GMOCK_SOURCE=$TP_SOURCE_DIR/$GMOCK_NAME