From c58f562fa2b287ab58a51b702f3c7295efe89904 Mon Sep 17 00:00:00 2001 From: Derek Mauro Date: Wed, 22 Dec 2021 13:00:44 -0800 Subject: [PATCH] Makes the Python imports consistently use full paths from the repository root, unifying the behavior between Bazel and CMake This fixes one of the CI failures on Windows PiperOrigin-RevId: 417872531 Change-Id: I156989323b7e6d4a4420f4f9691b078829db933d --- googlemock/test/gmock_leak_test.py | 2 +- googlemock/test/gmock_output_test.py | 2 +- googlemock/test/gmock_test_utils.py | 14 +------------- googletest/cmake/internal_utils.cmake | 2 ++ .../test/googletest-break-on-failure-unittest.py | 2 +- .../test/googletest-catch-exceptions-test.py | 2 +- googletest/test/googletest-color-test.py | 2 +- googletest/test/googletest-env-var-test.py | 2 +- googletest/test/googletest-failfast-unittest.py | 2 +- googletest/test/googletest-filter-unittest.py | 2 +- .../test/googletest-global-environment-unittest.py | 2 +- googletest/test/googletest-json-outfiles-test.py | 4 ++-- googletest/test/googletest-json-output-unittest.py | 4 ++-- googletest/test/googletest-list-tests-unittest.py | 2 +- googletest/test/googletest-output-test.py | 2 +- .../googletest-param-test-invalid-name1-test.py | 2 +- .../googletest-param-test-invalid-name2-test.py | 2 +- googletest/test/googletest-setuptestsuite-test.py | 2 +- googletest/test/googletest-shuffle-test.py | 2 +- .../test/googletest-throw-on-failure-test.py | 2 +- googletest/test/googletest-uninitialized-test.py | 2 +- googletest/test/gtest_help_test.py | 2 +- googletest/test/gtest_list_output_unittest.py | 2 +- googletest/test/gtest_skip_check_output_test.py | 2 +- .../gtest_skip_environment_check_output_test.py | 2 +- googletest/test/gtest_testbridge_test.py | 2 +- googletest/test/gtest_xml_outfiles_test.py | 4 ++-- googletest/test/gtest_xml_output_unittest.py | 4 ++-- googletest/test/gtest_xml_test_utils.py | 2 +- 29 files changed, 34 insertions(+), 44 deletions(-) diff --git a/googlemock/test/gmock_leak_test.py b/googlemock/test/gmock_leak_test.py index 7e4b1eea..4f41c7bb 100755 --- a/googlemock/test/gmock_leak_test.py +++ b/googlemock/test/gmock_leak_test.py @@ -31,7 +31,7 @@ """Tests that leaked mock objects can be caught be Google Mock.""" -import gmock_test_utils +from googlemock.test import gmock_test_utils PROGRAM_PATH = gmock_test_utils.GetTestExecutablePath('gmock_leak_test_') TEST_WITH_EXPECT_CALL = [PROGRAM_PATH, '--gtest_filter=*ExpectCall*'] diff --git a/googlemock/test/gmock_output_test.py b/googlemock/test/gmock_output_test.py index 25f99f2b..71532c55 100755 --- a/googlemock/test/gmock_output_test.py +++ b/googlemock/test/gmock_output_test.py @@ -43,7 +43,7 @@ from io import open # pylint: disable=redefined-builtin, g-importing-member import os import re import sys -import gmock_test_utils +from googlemock.test import gmock_test_utils # The flag for generating the golden file diff --git a/googlemock/test/gmock_test_utils.py b/googlemock/test/gmock_test_utils.py index 7dc4e119..d7bc0974 100755 --- a/googlemock/test/gmock_test_utils.py +++ b/googlemock/test/gmock_test_utils.py @@ -30,21 +30,9 @@ """Unit test utilities for Google C++ Mocking Framework.""" import os -import sys - -# Determines path to gtest_test_utils and imports it. -SCRIPT_DIR = os.path.dirname(__file__) or '.' - -# isdir resolves symbolic links. -gtest_tests_util_dir = os.path.join(SCRIPT_DIR, '../../googletest/test') -if os.path.isdir(gtest_tests_util_dir): - GTEST_TESTS_UTIL_DIR = gtest_tests_util_dir -else: - GTEST_TESTS_UTIL_DIR = os.path.join(SCRIPT_DIR, '../../googletest/test') -sys.path.append(GTEST_TESTS_UTIL_DIR) # pylint: disable=C6204 -import gtest_test_utils +from googletest.test import gtest_test_utils def GetSourceDir(): diff --git a/googletest/cmake/internal_utils.cmake b/googletest/cmake/internal_utils.cmake index 58fc9bfb..0c7983ae 100644 --- a/googletest/cmake/internal_utils.cmake +++ b/googletest/cmake/internal_utils.cmake @@ -304,6 +304,8 @@ function(py_test name) COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test/${name}.py --build_dir=${CMAKE_CURRENT_BINARY_DIR}/\${CTEST_CONFIGURATION_TYPE} ${ARGN}) endif() + # Make the Python import path consistent between Bazel and CMake. + set_tests_properties(${name} PROPERTIES ENVIRONMENT PYTHONPATH=${CMAKE_SOURCE_DIR}) endif(PYTHONINTERP_FOUND) endfunction() diff --git a/googletest/test/googletest-break-on-failure-unittest.py b/googletest/test/googletest-break-on-failure-unittest.py index a5dfbc69..4eafba3e 100755 --- a/googletest/test/googletest-break-on-failure-unittest.py +++ b/googletest/test/googletest-break-on-failure-unittest.py @@ -39,7 +39,7 @@ Google Test) with different environments and command line flags. """ import os -import gtest_test_utils +from googletest.test import gtest_test_utils # Constants. diff --git a/googletest/test/googletest-catch-exceptions-test.py b/googletest/test/googletest-catch-exceptions-test.py index 442397a4..d38d91a6 100755 --- a/googletest/test/googletest-catch-exceptions-test.py +++ b/googletest/test/googletest-catch-exceptions-test.py @@ -35,7 +35,7 @@ googletest-catch-exceptions-ex-test_ (programs written with Google Test) and verifies their output. """ -import gtest_test_utils +from googletest.test import gtest_test_utils # Constants. FLAG_PREFIX = '--gtest_' diff --git a/googletest/test/googletest-color-test.py b/googletest/test/googletest-color-test.py index f3b7c999..c22752db 100755 --- a/googletest/test/googletest-color-test.py +++ b/googletest/test/googletest-color-test.py @@ -32,7 +32,7 @@ """Verifies that Google Test correctly determines whether to use colors.""" import os -import gtest_test_utils +from googletest.test import gtest_test_utils IS_WINDOWS = os.name == 'nt' diff --git a/googletest/test/googletest-env-var-test.py b/googletest/test/googletest-env-var-test.py index 02c3655c..bc4d87d9 100755 --- a/googletest/test/googletest-env-var-test.py +++ b/googletest/test/googletest-env-var-test.py @@ -32,7 +32,7 @@ """Verifies that Google Test correctly parses environment variables.""" import os -import gtest_test_utils +from googletest.test import gtest_test_utils IS_WINDOWS = os.name == 'nt' diff --git a/googletest/test/googletest-failfast-unittest.py b/googletest/test/googletest-failfast-unittest.py index 3aeb2dff..1356d4f8 100755 --- a/googletest/test/googletest-failfast-unittest.py +++ b/googletest/test/googletest-failfast-unittest.py @@ -41,7 +41,7 @@ line flags. """ import os -import gtest_test_utils +from googletest.test import gtest_test_utils # Constants. diff --git a/googletest/test/googletest-filter-unittest.py b/googletest/test/googletest-filter-unittest.py index 6b32f2d2..bd1d5a5d 100755 --- a/googletest/test/googletest-filter-unittest.py +++ b/googletest/test/googletest-filter-unittest.py @@ -47,7 +47,7 @@ try: except ImportError: pass import sys -import gtest_test_utils +from googletest.test import gtest_test_utils # Constants. diff --git a/googletest/test/googletest-global-environment-unittest.py b/googletest/test/googletest-global-environment-unittest.py index f3475599..ef2cfb85 100644 --- a/googletest/test/googletest-global-environment-unittest.py +++ b/googletest/test/googletest-global-environment-unittest.py @@ -36,7 +36,7 @@ googletest-global-environment-unittest_ (a program written with Google Test). """ import re -import gtest_test_utils +from googletest.test import gtest_test_utils def RunAndReturnOutput(args=None): diff --git a/googletest/test/googletest-json-outfiles-test.py b/googletest/test/googletest-json-outfiles-test.py index 8ef47b8f..db9716c2 100644 --- a/googletest/test/googletest-json-outfiles-test.py +++ b/googletest/test/googletest-json-outfiles-test.py @@ -32,8 +32,8 @@ import json import os -import gtest_json_test_utils -import gtest_test_utils +from googletest.test import gtest_json_test_utils +from googletest.test import gtest_test_utils GTEST_OUTPUT_SUBDIR = 'json_outfiles' GTEST_OUTPUT_1_TEST = 'gtest_xml_outfile1_test_' diff --git a/googletest/test/googletest-json-output-unittest.py b/googletest/test/googletest-json-output-unittest.py index 41c85651..cb31965e 100644 --- a/googletest/test/googletest-json-output-unittest.py +++ b/googletest/test/googletest-json-output-unittest.py @@ -37,8 +37,8 @@ import os import re import sys -import gtest_json_test_utils -import gtest_test_utils +from googletest.test import gtest_json_test_utils +from googletest.test import gtest_test_utils GTEST_FILTER_FLAG = '--gtest_filter' GTEST_LIST_TESTS_FLAG = '--gtest_list_tests' diff --git a/googletest/test/googletest-list-tests-unittest.py b/googletest/test/googletest-list-tests-unittest.py index 81423a33..9d56883d 100755 --- a/googletest/test/googletest-list-tests-unittest.py +++ b/googletest/test/googletest-list-tests-unittest.py @@ -38,7 +38,7 @@ Google Test) the command line flags. """ import re -import gtest_test_utils +from googletest.test import gtest_test_utils # Constants. diff --git a/googletest/test/googletest-output-test.py b/googletest/test/googletest-output-test.py index 09028f66..ff444833 100755 --- a/googletest/test/googletest-output-test.py +++ b/googletest/test/googletest-output-test.py @@ -42,7 +42,7 @@ import difflib import os import re import sys -import gtest_test_utils +from googletest.test import gtest_test_utils # The flag for generating the golden file diff --git a/googletest/test/googletest-param-test-invalid-name1-test.py b/googletest/test/googletest-param-test-invalid-name1-test.py index 2a08477a..b8d609a7 100644 --- a/googletest/test/googletest-param-test-invalid-name1-test.py +++ b/googletest/test/googletest-param-test-invalid-name1-test.py @@ -30,7 +30,7 @@ """Verifies that Google Test warns the user when not initialized properly.""" -import gtest_test_utils +from googletest.test import gtest_test_utils binary_name = 'googletest-param-test-invalid-name1-test_' COMMAND = gtest_test_utils.GetTestExecutablePath(binary_name) diff --git a/googletest/test/googletest-param-test-invalid-name2-test.py b/googletest/test/googletest-param-test-invalid-name2-test.py index ab838f46..d92fa065 100644 --- a/googletest/test/googletest-param-test-invalid-name2-test.py +++ b/googletest/test/googletest-param-test-invalid-name2-test.py @@ -30,7 +30,7 @@ """Verifies that Google Test warns the user when not initialized properly.""" -import gtest_test_utils +from googletest.test import gtest_test_utils binary_name = 'googletest-param-test-invalid-name2-test_' COMMAND = gtest_test_utils.GetTestExecutablePath(binary_name) diff --git a/googletest/test/googletest-setuptestsuite-test.py b/googletest/test/googletest-setuptestsuite-test.py index c82162fc..9d1fd029 100755 --- a/googletest/test/googletest-setuptestsuite-test.py +++ b/googletest/test/googletest-setuptestsuite-test.py @@ -31,7 +31,7 @@ """Verifies that SetUpTestSuite and TearDownTestSuite errors are noticed.""" -import gtest_test_utils +from googletest.test import gtest_test_utils COMMAND = gtest_test_utils.GetTestExecutablePath( 'googletest-setuptestsuite-test_') diff --git a/googletest/test/googletest-shuffle-test.py b/googletest/test/googletest-shuffle-test.py index 573cc5ec..9d2adc12 100755 --- a/googletest/test/googletest-shuffle-test.py +++ b/googletest/test/googletest-shuffle-test.py @@ -31,7 +31,7 @@ """Verifies that test shuffling works.""" import os -import gtest_test_utils +from googletest.test import gtest_test_utils # Command to run the googletest-shuffle-test_ program. COMMAND = gtest_test_utils.GetTestExecutablePath('googletest-shuffle-test_') diff --git a/googletest/test/googletest-throw-on-failure-test.py b/googletest/test/googletest-throw-on-failure-test.py index ea627c47..772bbc5f 100755 --- a/googletest/test/googletest-throw-on-failure-test.py +++ b/googletest/test/googletest-throw-on-failure-test.py @@ -36,7 +36,7 @@ Google Test) with different environments and command line flags. """ import os -import gtest_test_utils +from googletest.test import gtest_test_utils # Constants. diff --git a/googletest/test/googletest-uninitialized-test.py b/googletest/test/googletest-uninitialized-test.py index 69595a0d..73c91764 100755 --- a/googletest/test/googletest-uninitialized-test.py +++ b/googletest/test/googletest-uninitialized-test.py @@ -31,7 +31,7 @@ """Verifies that Google Test warns the user when not initialized properly.""" -import gtest_test_utils +from googletest.test import gtest_test_utils COMMAND = gtest_test_utils.GetTestExecutablePath('googletest-uninitialized-test_') diff --git a/googletest/test/gtest_help_test.py b/googletest/test/gtest_help_test.py index 54d45047..3e628ae5 100755 --- a/googletest/test/gtest_help_test.py +++ b/googletest/test/gtest_help_test.py @@ -39,7 +39,7 @@ SYNOPSIS import os import re -import gtest_test_utils +from googletest.test import gtest_test_utils IS_LINUX = os.name == 'posix' and os.uname()[0] == 'Linux' diff --git a/googletest/test/gtest_list_output_unittest.py b/googletest/test/gtest_list_output_unittest.py index a442fc16..faacf103 100644 --- a/googletest/test/gtest_list_output_unittest.py +++ b/googletest/test/gtest_list_output_unittest.py @@ -40,7 +40,7 @@ This script tests such functionality by invoking gtest_list_output_unittest_ import os import re -import gtest_test_utils +from googletest.test import gtest_test_utils GTEST_LIST_TESTS_FLAG = '--gtest_list_tests' GTEST_OUTPUT_FLAG = '--gtest_output' diff --git a/googletest/test/gtest_skip_check_output_test.py b/googletest/test/gtest_skip_check_output_test.py index 14e63ab8..1c87b44f 100755 --- a/googletest/test/gtest_skip_check_output_test.py +++ b/googletest/test/gtest_skip_check_output_test.py @@ -35,7 +35,7 @@ output. import re -import gtest_test_utils +from googletest.test import gtest_test_utils # Path to the gtest_skip_in_environment_setup_test binary EXE_PATH = gtest_test_utils.GetTestExecutablePath('gtest_skip_test') diff --git a/googletest/test/gtest_skip_environment_check_output_test.py b/googletest/test/gtest_skip_environment_check_output_test.py index 6e791556..6960b11a 100755 --- a/googletest/test/gtest_skip_environment_check_output_test.py +++ b/googletest/test/gtest_skip_environment_check_output_test.py @@ -33,7 +33,7 @@ This script invokes gtest_skip_in_environment_setup_test_ and verifies its output. """ -import gtest_test_utils +from googletest.test import gtest_test_utils # Path to the gtest_skip_in_environment_setup_test binary EXE_PATH = gtest_test_utils.GetTestExecutablePath( diff --git a/googletest/test/gtest_testbridge_test.py b/googletest/test/gtest_testbridge_test.py index 87ffad73..1c2a303a 100755 --- a/googletest/test/gtest_testbridge_test.py +++ b/googletest/test/gtest_testbridge_test.py @@ -31,7 +31,7 @@ import os -import gtest_test_utils +from googletest.test import gtest_test_utils binary_name = 'gtest_testbridge_test_' COMMAND = gtest_test_utils.GetTestExecutablePath(binary_name) diff --git a/googletest/test/gtest_xml_outfiles_test.py b/googletest/test/gtest_xml_outfiles_test.py index ac66feb6..916bdf4d 100755 --- a/googletest/test/gtest_xml_outfiles_test.py +++ b/googletest/test/gtest_xml_outfiles_test.py @@ -33,8 +33,8 @@ import os from xml.dom import minidom, Node -import gtest_test_utils -import gtest_xml_test_utils +from googletest.test import gtest_test_utils +from googletest.test import gtest_xml_test_utils GTEST_OUTPUT_SUBDIR = "xml_outfiles" GTEST_OUTPUT_1_TEST = "gtest_xml_outfile1_test_" diff --git a/googletest/test/gtest_xml_output_unittest.py b/googletest/test/gtest_xml_output_unittest.py index eade7aac..f0b0c3b9 100755 --- a/googletest/test/gtest_xml_output_unittest.py +++ b/googletest/test/gtest_xml_output_unittest.py @@ -38,8 +38,8 @@ import re import sys from xml.dom import minidom, Node -import gtest_test_utils -import gtest_xml_test_utils +from googletest.test import gtest_test_utils +from googletest.test import gtest_xml_test_utils GTEST_FILTER_FLAG = '--gtest_filter' GTEST_LIST_TESTS_FLAG = '--gtest_list_tests' diff --git a/googletest/test/gtest_xml_test_utils.py b/googletest/test/gtest_xml_test_utils.py index ec42c62c..50c6e7dc 100755 --- a/googletest/test/gtest_xml_test_utils.py +++ b/googletest/test/gtest_xml_test_utils.py @@ -31,7 +31,7 @@ import re from xml.dom import minidom, Node -import gtest_test_utils +from googletest.test import gtest_test_utils GTEST_DEFAULT_OUTPUT_FILE = 'test_detail.xml'