Add support for building with the system google test
authorVladimir Petko <vladimir.petko@canonical.com>
Wed, 17 Apr 2024 12:24:58 +0000 (14:24 +0200)
committerMatthias Klose <doko@ubuntu.com>
Wed, 17 Apr 2024 12:24:58 +0000 (14:24 +0200)
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/openjdk-20/+bug/2012316
Last-Update: 2023-07-20

A major portion of hotspot tests require google test.
In order to get tier1 tests passing the package should build
with the system google test.

Gbp-Pq: Name build_gtest.patch

make/autoconf/lib-tests.m4
test/hotspot/gtest/gtestMain.cpp

index cd0d5cf05b4799d553e3a0443d89e127c80b42ca..647e45dd450929ccb9faa36b5e33e9661c1200d0 100644 (file)
@@ -43,6 +43,8 @@ AC_DEFUN_ONCE([LIB_TESTS_SETUP_GTEST],
     AC_MSG_CHECKING([for gtest])
     if test "x${with_gtest}" = xno; then
       AC_MSG_RESULT([no, disabled])
+    elif test "x${with_gtest}" = xsystem; then
+      GTEST_FRAMEWORK_SRC=/usr/src/googletest
     elif test "x${with_gtest}" = xyes; then
       AC_MSG_RESULT([no, error])
       AC_MSG_ERROR([--with-gtest must have a value])
index 44ab6a3d5fcac178b43140c7ccfdd2be3d3e3c97..2e7d52513ed99536ef49bd77b7e975b94fb133d0 100644 (file)
@@ -231,7 +231,9 @@ static void runUnitTestsInner(int argc, char** argv) {
   bool is_vmassert_test = false;
   bool is_othervm_test = false;
   // death tests facility is used for both regular death tests, other vm and vmassert tests
-  if (::testing::internal::GTEST_FLAG(internal_run_death_test).length() > 0) {
+using namespace ::testing;
+using namespace ::testing::internal;
+  if (GTEST_FLAG(internal_run_death_test).length() > 0) {
     // when we execute death test, filter value equals to test name
     const char* test_name = ::testing::GTEST_FLAG(filter).c_str();
     const char* const othervm_suffix = "_other_vm"; // TEST_OTHER_VM