From dfe70fa6317c4d42a98a2f30552d300471270dae Mon Sep 17 00:00:00 2001 From: Ivo List Date: Wed, 10 Jan 2024 02:54:46 -0800 Subject: [PATCH 1/5] Reenable C++ tests on Mac Closes #20784. PiperOrigin-RevId: 597193470 Change-Id: Ia84f05a4704d35ab65ab68ce514e474900091d08 --- .bazelci/postsubmit.yml | 12 ------- .bazelci/presubmit.yml | 13 -------- .../build/lib/packages/util/Crosstool.java | 31 +++++++++++++------ .../google/devtools/build/lib/rules/cpp/BUILD | 2 +- .../build/lib/rules/cpp/CcCommonTest.java | 13 +++++++- .../python/PyTestConfiguredTargetTest.java | 15 ++++----- 6 files changed, 42 insertions(+), 44 deletions(-) diff --git a/.bazelci/postsubmit.yml b/.bazelci/postsubmit.yml index 67f4a9ac43699a..ddb47ab1f8494d 100644 --- a/.bazelci/postsubmit.yml +++ b/.bazelci/postsubmit.yml @@ -222,12 +222,6 @@ tasks: - "-//src/test/shell/bazel/android:android_instrumentation_test_integration_test_with_head_android_tools" - "-//src/test/shell/bazel/android:aapt_integration_test" - "-//src/test/shell/bazel/android:aapt_integration_test_with_head_android_tools" - # Disable recently regressed tests: https://github.com/bazelbuild/bazel/issues/20437 - - "-//src/test/java/com/google/devtools/build/lib/rules/cpp:CppSysrootTest" - - "-//src/test/java/com/google/devtools/build/lib/rules/cpp:CcImportConfiguredTargetTest" - - "-//src/test/java/com/google/devtools/build/lib/rules/objc:ObjcRulesTests" - - "-//src/test/java/com/google/devtools/build/lib/rules/objc:BazelJ2ObjcLibraryTest" - - "-//src/test/java/com/google/devtools/build/lib/rules/cpp:CcToolchainTest" include_json_profile: - build - test @@ -288,12 +282,6 @@ tasks: - "-//src/test/shell/bazel/android:android_instrumentation_test_integration_test_with_head_android_tools" - "-//src/test/shell/bazel/android:aapt_integration_test" - "-//src/test/shell/bazel/android:aapt_integration_test_with_head_android_tools" - # Disable recently regressed tests: https://github.com/bazelbuild/bazel/issues/20437 - - "-//src/test/java/com/google/devtools/build/lib/rules/cpp:CppSysrootTest" - - "-//src/test/java/com/google/devtools/build/lib/rules/cpp:CcImportConfiguredTargetTest" - - "-//src/test/java/com/google/devtools/build/lib/rules/objc:ObjcRulesTests" - - "-//src/test/java/com/google/devtools/build/lib/rules/objc:BazelJ2ObjcLibraryTest" - - "-//src/test/java/com/google/devtools/build/lib/rules/cpp:CcToolchainTest" # https://github.com/bazelbuild/bazel/issues/17411 - "-//src/test/java/com/google/devtools/build/lib/blackbox/tests/workspace:PatchApiBlackBoxTest" # https://github.com/bazelbuild/bazel/issues/17447 diff --git a/.bazelci/presubmit.yml b/.bazelci/presubmit.yml index c474d1c9710d7a..a2f32dffa84885 100644 --- a/.bazelci/presubmit.yml +++ b/.bazelci/presubmit.yml @@ -226,12 +226,6 @@ tasks: - "-//src/test/shell/bazel/android:android_instrumentation_test_integration_test_with_head_android_tools" - "-//src/test/shell/bazel/android:aapt_integration_test" - "-//src/test/shell/bazel/android:aapt_integration_test_with_head_android_tools" - # Disable recently regressed tests: https://github.com/bazelbuild/bazel/issues/20437 - - "-//src/test/java/com/google/devtools/build/lib/rules/cpp:CppSysrootTest" - - "-//src/test/java/com/google/devtools/build/lib/rules/cpp:CcImportConfiguredTargetTest" - - "-//src/test/java/com/google/devtools/build/lib/rules/objc:ObjcRulesTests" - - "-//src/test/java/com/google/devtools/build/lib/rules/objc:BazelJ2ObjcLibraryTest" - - "-//src/test/java/com/google/devtools/build/lib/rules/cpp:CcToolchainTest" include_json_profile: - build - test @@ -346,13 +340,6 @@ tasks: - "-//src/test/shell/bazel/android:android_instrumentation_test_integration_test_with_head_android_tools" - "-//src/test/shell/bazel/android:aapt_integration_test" - "-//src/test/shell/bazel/android:aapt_integration_test_with_head_android_tools" - # Disable recently regressed tests: https://github.com/bazelbuild/bazel/issues/20437 - - "-//src/test/java/com/google/devtools/build/lib/rules/cpp:CppSysrootTest" - - "-//src/test/java/com/google/devtools/build/lib/rules/cpp:CcImportConfiguredTargetTest" - - "-//src/test/java/com/google/devtools/build/lib/rules/objc:ObjcRulesTests" - - "-//src/test/java/com/google/devtools/build/lib/rules/objc:BazelJ2ObjcLibraryTest" - - "-//src/test/java/com/google/devtools/build/lib/rules/cpp:CcToolchainTest" - - "-//src/test/shell/integration:minimal_jdk_test" # https://github.com/bazelbuild/bazel/issues/17411 - "-//src/test/java/com/google/devtools/build/lib/blackbox/tests/workspace:PatchApiBlackBoxTest" # https://github.com/bazelbuild/bazel/issues/17447 diff --git a/src/test/java/com/google/devtools/build/lib/packages/util/Crosstool.java b/src/test/java/com/google/devtools/build/lib/packages/util/Crosstool.java index 841d0f058bebd7..5bf080dcf6378b 100644 --- a/src/test/java/com/google/devtools/build/lib/packages/util/Crosstool.java +++ b/src/test/java/com/google/devtools/build/lib/packages/util/Crosstool.java @@ -301,12 +301,24 @@ public String getToolchainExecConstraints() { public String getToolchainTargetConstraints() { ImmutableList constraints = this.toolchainTargetConstraints; - if (constraints.isEmpty() && getTargetCpu().equals("k8")) { - // Use default constraints - constraints = - ImmutableList.of( - TestConstants.CONSTRAINTS_PACKAGE_ROOT + "cpu:x86_64", - TestConstants.CONSTRAINTS_PACKAGE_ROOT + "os:linux"); + if (constraints.isEmpty()) { + if (getTargetCpu().equals("k8")) { + // Use default constraints + constraints = + ImmutableList.of( + TestConstants.CONSTRAINTS_PACKAGE_ROOT + "cpu:x86_64", + TestConstants.CONSTRAINTS_PACKAGE_ROOT + "os:linux"); + } else if (getTargetCpu().equals("darwin_x86_64")) { + constraints = + ImmutableList.of( + TestConstants.CONSTRAINTS_PACKAGE_ROOT + "cpu:x86_64", + TestConstants.CONSTRAINTS_PACKAGE_ROOT + "os:macos"); + } else if (getTargetCpu().equals("darwin_arm64")) { + constraints = + ImmutableList.of( + TestConstants.CONSTRAINTS_PACKAGE_ROOT + "cpu:arm64", + TestConstants.CONSTRAINTS_PACKAGE_ROOT + "os:macos"); + } } return formatConstraints("target", constraints); } @@ -727,15 +739,14 @@ public void writeOSX() throws IOException { " toolchain_type = '" + TestConstants.TOOLS_REPOSITORY + "//tools/cpp:toolchain_type'", ")"); crosstoolBuild.add(toolchainConfig.getCcToolchainConfigRule()); - // Add the newly-created toolchain to the WORKSPACE. - config.append( - "WORKSPACE", - "register_toolchains('//" + MockObjcSupport.DEFAULT_OSX_CROSSTOOL_DIR + ":all')"); } config.overwrite( MockObjcSupport.DEFAULT_OSX_CROSSTOOL_DIR + "/BUILD", Joiner.on("\n").join(crosstoolBuild.build())); + config.append( + "WORKSPACE", + "register_toolchains('//" + MockObjcSupport.DEFAULT_OSX_CROSSTOOL_DIR + ":all')"); config.overwrite(crosstoolTop + "/cc_toolchain_config.bzl", ccToolchainConfigFileContents); } } diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/BUILD b/src/test/java/com/google/devtools/build/lib/rules/cpp/BUILD index 15459e8ec20e43..18e7e91f87759d 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/cpp/BUILD +++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/BUILD @@ -175,12 +175,12 @@ java_test( "//src/main/java/com/google/devtools/build/lib/cmdline", "//src/main/java/com/google/devtools/build/lib/collect/nestedset", "//src/main/java/com/google/devtools/build/lib/rules/cpp", - "//src/main/java/com/google/devtools/build/lib/util:os", "//src/main/java/com/google/devtools/build/lib/vfs", "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment", "//src/test/java/com/google/devtools/build/lib/actions/util", "//src/test/java/com/google/devtools/build/lib/analysis/util", "//src/test/java/com/google/devtools/build/lib/packages:testutil", + "//src/test/java/com/google/devtools/build/lib/testutil:TestConstants", "//third_party:guava", "//third_party:junit4", "//third_party:truth", diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java index cc9983c4973ece..9d811b5fbfb08e 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java @@ -37,6 +37,7 @@ import com.google.devtools.build.lib.collect.nestedset.NestedSet; import com.google.devtools.build.lib.packages.util.Crosstool.CcToolchainConfig; import com.google.devtools.build.lib.packages.util.MockCcSupport; +import com.google.devtools.build.lib.testutil.TestConstants; import com.google.devtools.build.lib.vfs.FileSystemUtils; import com.google.devtools.build.lib.vfs.ModifiedFileSet; import com.google.devtools.build.lib.vfs.PathFragment; @@ -710,7 +711,17 @@ public void testExpandLabelInLinkoptsAgainstSrc() throws Exception { @Test public void testCcLibraryWithDashStaticOnDarwin() throws Exception { getAnalysisMock().ccSupport().setupCcToolchainConfigForCpu(mockToolsConfig, "darwin_x86_64"); - useConfiguration("--cpu=darwin_x86_64"); + mockToolsConfig.create( + "platforms/BUILD", + "platform(", + " name = 'darwin_x86_64',", + " constraint_values = [", + " '" + TestConstants.CONSTRAINTS_PACKAGE_ROOT + "os:macos',", + " '" + TestConstants.CONSTRAINTS_PACKAGE_ROOT + "cpu:x86_64',", + " ],", + ")"); + useConfiguration("--cpu=darwin_x86_64", "--platforms=//platforms:darwin_x86_64"); + checkError( "badlib", "lib_with_dash_static", diff --git a/src/test/java/com/google/devtools/build/lib/rules/python/PyTestConfiguredTargetTest.java b/src/test/java/com/google/devtools/build/lib/rules/python/PyTestConfiguredTargetTest.java index bb277f0c1d792d..f7e32a8894c29f 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/python/PyTestConfiguredTargetTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/python/PyTestConfiguredTargetTest.java @@ -36,14 +36,15 @@ public void macRequiresDarwinForExecution() throws Exception { // The default mock environment doesn't have platform_mappings (which map --cpu to a platform), // nor does it have Apple platforms defined, so we have to set one up ourselves. mockToolsConfig.create( - "mockplatforms/BUILD", + "platforms/BUILD", "platform(", - " name='macos',", - String.format( - " constraint_values=['%sos:macos'],", TestConstants.CONSTRAINTS_PACKAGE_ROOT), - ")", - ""); - useConfiguration("--cpu=darwin_x86_64", "--platforms=//mockplatforms:macos"); + " name = 'darwin_x86_64',", + " constraint_values = [", + " '" + TestConstants.CONSTRAINTS_PACKAGE_ROOT + "os:macos',", + " '" + TestConstants.CONSTRAINTS_PACKAGE_ROOT + "cpu:x86_64',", + " ],", + ")"); + useConfiguration("--cpu=darwin_x86_64", "--platforms=//platforms:darwin_x86_64"); scratch.file( "pkg/BUILD", // "py_test(", From 70452ff4770c6e3ddcf831b89b457ee349e7d2b7 Mon Sep 17 00:00:00 2001 From: Fabian Meumertzheim Date: Tue, 30 Jan 2024 01:14:04 -0800 Subject: [PATCH 2/5] Reenable import_deps_checker tests in Bazel A compatible JDK 8 is fetched via `remote_java_repository`. Requires fixing paths in golden files to not contain `third_party/bazel/` as well as the expected exit code of the `MethodHandle#invoke` test, which is expected to pass. Fixes #8162 Closes #20655. PiperOrigin-RevId: 602641568 Change-Id: I54ec568d981e3bd27caab9e24c0c9eb2a25c6372 --- .bazelci/postsubmit.yml | 15 ------- .bazelci/presubmit.yml | 16 -------- .../google/devtools/build/importdeps/BUILD | 39 +++++++++---------- .../devtools/build/importdeps/golden_test.sh | 6 ++- 4 files changed, 23 insertions(+), 53 deletions(-) diff --git a/.bazelci/postsubmit.yml b/.bazelci/postsubmit.yml index ddb47ab1f8494d..324bf9023842c2 100644 --- a/.bazelci/postsubmit.yml +++ b/.bazelci/postsubmit.yml @@ -37,9 +37,6 @@ tasks: - "//tools/compliance/..." - "//tools/python/..." - "//tools/bash/..." - # Re-enable once fixed: https://github.com/bazelbuild/bazel/issues/8162 - - "-//src/java_tools/buildjar/..." - - "-//src/java_tools/import_deps_checker/..." # These tests are not compatible with the gcov version of CentOS 7. - "-//src/test/shell/bazel:bazel_cc_code_coverage_test" - "-//src/test/shell/bazel:bazel_coverage_cc_released_test_gcc" @@ -99,7 +96,6 @@ tasks: - "//tools/python/..." - "//tools/bash/..." # Re-enable once fixed: https://github.com/bazelbuild/bazel/issues/8162 - - "-//src/java_tools/import_deps_checker/..." include_json_profile: - build - test @@ -158,8 +154,6 @@ tasks: - "//tools/aquery_differ/..." - "//tools/python/..." - "//tools/bash/..." - # Re-enable once fixed: https://github.com/bazelbuild/bazel/issues/8162 - - "-//src/java_tools/import_deps_checker/..." include_json_profile: - build - test @@ -194,9 +188,6 @@ tasks: - "//tools/aquery_differ/..." - "//tools/python/..." - "//tools/bash/..." - # Re-enable once fixed: https://github.com/bazelbuild/bazel/issues/8162 - - "-//src/java_tools/buildjar/..." - - "-//src/java_tools/import_deps_checker/..." # C++ coverage is not supported on macOS yet. - "-//src/test/shell/bazel:bazel_cc_code_coverage_test" # MacOS does not have cgroups so it can't support hardened sandbox @@ -255,9 +246,6 @@ tasks: - "//tools/aquery_differ/..." - "//tools/python/..." - "//tools/bash/..." - # Re-enable once fixed: https://github.com/bazelbuild/bazel/issues/8162 - - "-//src/java_tools/buildjar/..." - - "-//src/java_tools/import_deps_checker/..." # C++ coverage is not supported on macOS yet. - "-//src/test/shell/bazel:bazel_cc_code_coverage_test" # MacOS does not have cgroups so it can't support hardened sandbox @@ -402,9 +390,6 @@ tasks: - "-//src/test/shell/bazel:bazel_repository_cache_test" - "-//src/test/shell/integration:java_integration_test" - "-//src/test/java/com/google/devtools/build/lib/sandbox/..." - # See https://github.com/bazelbuild/bazel/issues/8162 (also disabled for local exec) - - "-//src/java_tools/buildjar/..." - - "-//src/java_tools/import_deps_checker/..." # We hit connection timeout error when downloading multiple URLs on RBE, see b/217865760 - "-//src/test/py/bazel:bazel_module_test" - "-//src/test/py/bazel:bazel_lockfile_test" diff --git a/.bazelci/presubmit.yml b/.bazelci/presubmit.yml index a2f32dffa84885..4632898c32520d 100644 --- a/.bazelci/presubmit.yml +++ b/.bazelci/presubmit.yml @@ -38,9 +38,6 @@ tasks: - "//tools/compliance/..." - "//tools/python/..." - "//tools/bash/..." - # Re-enable once fixed: https://github.com/bazelbuild/bazel/issues/8162 - - "-//src/java_tools/buildjar/..." - - "-//src/java_tools/import_deps_checker/..." # These tests are not compatible with the gcov version of CentOS 7. - "-//src/test/shell/bazel:bazel_cc_code_coverage_test" - "-//src/test/shell/bazel:bazel_coverage_cc_released_test_gcc" @@ -100,8 +97,6 @@ tasks: - "//tools/aquery_differ/..." - "//tools/python/..." - "//tools/bash/..." - # Re-enable once fixed: https://github.com/bazelbuild/bazel/issues/8162 - - "-//src/java_tools/import_deps_checker/..." include_json_profile: - build - test @@ -161,8 +156,6 @@ tasks: - "//tools/aquery_differ/..." - "//tools/python/..." - "//tools/bash/..." - # Re-enable once fixed: https://github.com/bazelbuild/bazel/issues/8162 - - "-//src/java_tools/import_deps_checker/..." include_json_profile: - build - test @@ -198,9 +191,6 @@ tasks: - "//tools/aquery_differ/..." - "//tools/python/..." - "//tools/bash/..." - # Re-enable once fixed: https://github.com/bazelbuild/bazel/issues/8162 - - "-//src/java_tools/buildjar/..." - - "-//src/java_tools/import_deps_checker/..." # C++ coverage is not supported on macOS yet. - "-//src/test/shell/bazel:bazel_cc_code_coverage_test" # MacOS does not have cgroups so it can't support hardened sandbox @@ -260,9 +250,6 @@ tasks: - "//tools/aquery_differ/..." - "//tools/python/..." - "//tools/bash/..." - # Re-enable once fixed: https://github.com/bazelbuild/bazel/issues/8162 - - "-//src/java_tools/buildjar/..." - - "-//src/java_tools/import_deps_checker/..." # C++ coverage is not supported on macOS yet. - "-//src/test/shell/bazel:bazel_cc_code_coverage_test" # MacOS does not have cgroups so it can't support hardened sandbox @@ -463,9 +450,6 @@ tasks: - "-//src/test/shell/bazel:bazel_repository_cache_test" - "-//src/test/shell/integration:java_integration_test" - "-//src/test/java/com/google/devtools/build/lib/sandbox/..." - # See https://github.com/bazelbuild/bazel/issues/8162 (also disabled for local exec) - - "-//src/java_tools/buildjar/..." - - "-//src/java_tools/import_deps_checker/..." # We hit connection timeout error when downloading multiple URLs on RBE, see b/217865760 - "-//src/test/py/bazel:bazel_module_test" - "-//src/test/py/bazel:bazel_lockfile_test" diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/BUILD b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/BUILD index 6ef72da3f669c4..4bc9dce7e6c6d2 100644 --- a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/BUILD +++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/BUILD @@ -61,10 +61,10 @@ java_test( "//src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata:testdata_lib_LibraryInterface", "//src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata:testdata_lib_LibraryModuleInfo", "//src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata:testdata_lib_Library_no_members", - "@local_jdk//:jre/lib/rt.jar", + "@bazel_tools//tools/jdk:platformclasspath", ], jvm_flags = [ - "-Dclasscache.test.bootclasspath=$(location @local_jdk//:jre/lib/rt.jar)", + "-Dclasscache.test.bootclasspath=$(location @bazel_tools//tools/jdk:platformclasspath)", "-Dclasscache.test.Client=$(location //src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata:testdata_client)", "-Dclasscache.test.Library=$(location //src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata:testdata_lib_Library)", "-Dclasscache.test.Library_no_members=$(location //src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata:testdata_lib_Library_no_members)", @@ -96,10 +96,10 @@ java_test( "//src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata:testdata_lib_LibraryInterface", "//src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata:testdata_lib_LibraryModuleInfo", "//src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata:testdata_lib_Library_no_members", - "@local_jdk//:jre/lib/rt.jar", + "@bazel_tools//tools/jdk:platformclasspath", ], jvm_flags = [ - "-Dclasscache.test.bootclasspath=$(location @local_jdk//:jre/lib/rt.jar)", + "-Dclasscache.test.bootclasspath=$(location @bazel_tools//tools/jdk:platformclasspath)", "-Dclasscache.test.Client=$(location //src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata:testdata_client)", "-Dclasscache.test.Library=$(location //src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata:testdata_lib_Library)", "-Dclasscache.test.Library_no_members=$(location //src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata:testdata_lib_Library_no_members)", @@ -115,7 +115,6 @@ java_test( "//third_party:guava", "//third_party:junit4", "//third_party:truth", - "@local_jdk//:jre/lib/rt.jar", ], ) @@ -129,7 +128,7 @@ create_golden_test( has_bootclasspath = False, import_deps_checker = "//src/java_tools/import_deps_checker/java/com/google/devtools/build/importdeps:ImportDepsChecker", missing_jar = None, - rt_jar = "@local_jdk//:jre/lib/rt.jar", + rt_jar = "@bazel_tools//tools/jdk:platformclasspath", testdata_pkg = "//src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata", ) @@ -143,7 +142,7 @@ create_golden_test( has_bootclasspath = False, import_deps_checker = "//src/java_tools/import_deps_checker/java/com/google/devtools/build/importdeps:ImportDepsChecker", missing_jar = None, - rt_jar = "@local_jdk//:jre/lib/rt.jar", + rt_jar = "@bazel_tools//tools/jdk:platformclasspath", testdata_pkg = "//src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata", ) @@ -151,12 +150,12 @@ create_golden_test( name = "silent_on_bootclasspath_missing_golden_test", checking_mode = "silence", expect_errors = False, - golden_output_file = "golden_complete_classpath.txt", + golden_output_file = "golden_silent_on_bootclasspath_missing_golden_test.txt", golden_stderr_file = "golden_complete_classpath.stderr.txt", has_bootclasspath = False, import_deps_checker = "//src/java_tools/import_deps_checker/java/com/google/devtools/build/importdeps:ImportDepsChecker", missing_jar = None, - rt_jar = "@local_jdk//:jre/lib/rt.jar", + rt_jar = "@bazel_tools//tools/jdk:platformclasspath", testdata_pkg = "//src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata", ) @@ -169,7 +168,7 @@ create_golden_test( has_bootclasspath = True, import_deps_checker = "//src/java_tools/import_deps_checker/java/com/google/devtools/build/importdeps:ImportDepsChecker", missing_jar = "testdata_lib_LibraryException", - rt_jar = "@local_jdk//:jre/lib/rt.jar", + rt_jar = "@bazel_tools//tools/jdk:platformclasspath", testdata_pkg = "//src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata", ) @@ -182,7 +181,7 @@ create_golden_test( has_bootclasspath = True, import_deps_checker = "//src/java_tools/import_deps_checker/java/com/google/devtools/build/importdeps:ImportDepsChecker", missing_jar = "testdata_lib_LibraryAnnotations", - rt_jar = "@local_jdk//:jre/lib/rt.jar", + rt_jar = "@bazel_tools//tools/jdk:platformclasspath", testdata_pkg = "//src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata", ) @@ -195,7 +194,7 @@ create_golden_test( has_bootclasspath = True, import_deps_checker = "//src/java_tools/import_deps_checker/java/com/google/devtools/build/importdeps:ImportDepsChecker", missing_jar = "testdata_lib_Library", - rt_jar = "@local_jdk//:jre/lib/rt.jar", + rt_jar = "@bazel_tools//tools/jdk:platformclasspath", testdata_pkg = "//src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata", ) @@ -209,7 +208,7 @@ create_golden_test( has_bootclasspath = True, import_deps_checker = "//src/java_tools/import_deps_checker/java/com/google/devtools/build/importdeps:ImportDepsChecker", missing_jar = "testdata_lib_LibraryInterface", - rt_jar = "@local_jdk//:jre/lib/rt.jar", + rt_jar = "@bazel_tools//tools/jdk:platformclasspath", testdata_pkg = "//src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata", ) @@ -224,7 +223,7 @@ create_golden_test( import_deps_checker = "//src/java_tools/import_deps_checker/java/com/google/devtools/build/importdeps:ImportDepsChecker", missing_jar = "testdata_lib_Library", replacing_jar = "testdata_lib_Library_no_members", - rt_jar = "@local_jdk//:jre/lib/rt.jar", + rt_jar = "@bazel_tools//tools/jdk:platformclasspath", testdata_pkg = "//src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata", ) @@ -239,7 +238,7 @@ create_golden_test( import_deps_checker = "//src/java_tools/import_deps_checker/java/com/google/devtools/build/importdeps:ImportDepsChecker", missing_jar = "testdata_lib_Library", replacing_jar = "testdata_lib_Library_no_members", - rt_jar = "@local_jdk//:jre/lib/rt.jar", + rt_jar = "@bazel_tools//tools/jdk:platformclasspath", testdata_pkg = "//src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata", ) @@ -247,13 +246,13 @@ create_golden_test( name = "complete_classpath_golden_test", checking_mode = "error", expect_errors = False, - golden_output_file = "golden_silent_on_bootclasspath_missing_golden_test.txt", + golden_output_file = "golden_complete_classpath.txt", golden_stderr_file = "golden_complete_classpath.stderr.txt", has_bootclasspath = True, import_deps_checker = "//src/java_tools/import_deps_checker/java/com/google/devtools/build/importdeps:ImportDepsChecker", missing_jar = None, replacing_jar = None, - rt_jar = "@local_jdk//:jre/lib/rt.jar", + rt_jar = "@bazel_tools//tools/jdk:platformclasspath", testdata_pkg = "//src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata", ) @@ -306,12 +305,12 @@ sh_test( args = [ "$(location golden_invoke_polymorphic_test.txt)", "$(location golden_invoke_polymorphic_test.stderr.txt)", - "199", + "0", "$(location :DumpProto)", "$(location //src/java_tools/import_deps_checker/java/com/google/devtools/build/importdeps:ImportDepsChecker)", "--checking_mode=error", "--bootclasspath_entry", - "$(location @local_jdk//:jre/lib/rt.jar)", + "$(location @bazel_tools//tools/jdk:platformclasspath)", "--input", "$(location //src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata:libInvokePolymorphic.jar)", ], @@ -322,7 +321,7 @@ sh_test( "//src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps:golden_invoke_polymorphic_test.stderr.txt", "//src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps:golden_invoke_polymorphic_test.txt", "//src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata:libInvokePolymorphic.jar", - "@local_jdk//:jre/lib/rt.jar", + "@bazel_tools//tools/jdk:platformclasspath", ], ) diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_test.sh b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_test.sh index c4c33ca0cfc9b5..2d87eeb90a278d 100755 --- a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_test.sh +++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_test.sh @@ -54,7 +54,8 @@ if [[ "${checker_ret}" != ${expected_exit_code} ]]; then exit 1 # Exit with an error. fi -diff "${gold_output_file}" <($PRINT_JDEPS_PROTO "${output_file}") +# Correct for different paths between Blaze and Bazel. +diff <(sed 's|third_party/bazel/||g' "${gold_output_file}") <($PRINT_JDEPS_PROTO "${output_file}" | sed 's|third_party/bazel/||g') gold_output_ret=$? if [[ "${gold_output_ret}" != 0 ]] ; then @@ -71,7 +72,8 @@ if [[ "${gold_output_ret}" != 0 ]] ; then exit 1 fi -diff "${gold_stderr_file}" "${checker_stderr}" +# Correct for different paths between Blaze and Bazel. +diff <(sed 's|third_party/bazel/||g' "${gold_stderr_file}") <(sed 's|third_party/bazel/||g' "${checker_stderr}") gold_stderr_ret=$? if [[ "${gold_stderr_ret}" != 0 ]]; then From 9f3f4659af23ef0137f34e0c050357b52ab513a7 Mon Sep 17 00:00:00 2001 From: Yun Peng Date: Wed, 21 Feb 2024 07:54:31 -0800 Subject: [PATCH 3/5] Improve test coverage on macOS - Add `--test_tag_filters=-no_macos` for macOS to filter out tests that are not suppose to run on Mac, just like the `no_windows` tag. - Fixed PatchApiBlackBoxTest and GitRepositoryBlackBoxTest on newer macOS versions. - Enable previously disabled tests on arm64 macOS platform in presubmit - Disable slow tests on Intel macOS platform in presubmit since they are often the bottleneck. Tests fixed: - Fixes https://github.com/bazelbuild/bazel/issues/16525 - Fixes https://github.com/bazelbuild/bazel/issues/17447 - Fixes https://github.com/bazelbuild/bazel/issues/17411 - Related: https://github.com/bazelbuild/bazel/issues/18776 (fixed on macos_arm64) Closes #21381. PiperOrigin-RevId: 608993052 Change-Id: I03bdf954c358bb736a866ce3a02f6dac4473e47e --- .bazelci/postsubmit.yml | 32 ---- .bazelci/presubmit.yml | 139 +++++++----------- .bazelrc | 1 + .../workspace/GitRepositoryBlackBoxTest.java | 18 +-- .../tests/workspace/GitRepositoryHelper.java | 2 + .../tests/workspace/PatchApiBlackBoxTest.java | 2 +- .../google/devtools/build/lib/sandbox/BUILD | 6 +- src/test/shell/bazel/BUILD | 2 + 8 files changed, 74 insertions(+), 128 deletions(-) diff --git a/.bazelci/postsubmit.yml b/.bazelci/postsubmit.yml index 324bf9023842c2..4d838259827415 100644 --- a/.bazelci/postsubmit.yml +++ b/.bazelci/postsubmit.yml @@ -188,10 +188,6 @@ tasks: - "//tools/aquery_differ/..." - "//tools/python/..." - "//tools/bash/..." - # C++ coverage is not supported on macOS yet. - - "-//src/test/shell/bazel:bazel_cc_code_coverage_test" - # MacOS does not have cgroups so it can't support hardened sandbox - - "-//src/test/shell/integration:bazel_hardened_sandboxed_worker_test" # https://github.com/bazelbuild/bazel/issues/16526 - "-//src/test/shell/bazel:starlark_repository_test" # https://github.com/bazelbuild/bazel/issues/17407 @@ -200,10 +196,6 @@ tasks: - "-//src/test/shell/bazel/apple:bazel_objc_test" # https://github.com/bazelbuild/bazel/issues/17410 - "-//src/test/java/com/google/devtools/build/lib/platform:SystemMemoryPressureEventTest" - # https://github.com/bazelbuild/bazel/issues/17411 - - "-//src/test/java/com/google/devtools/build/lib/blackbox/tests/workspace:PatchApiBlackBoxTest" - # https://github.com/bazelbuild/bazel/issues/17447 - - "-//src/test/java/com/google/devtools/build/lib/blackbox/tests/workspace:GitRepositoryBlackBoxTest" # https://github.com/bazelbuild/bazel/issues/17456 - "-//src/test/shell/bazel:bazel_determinism_test" # https://github.com/bazelbuild/bazel/issues/17457 @@ -246,34 +238,10 @@ tasks: - "//tools/aquery_differ/..." - "//tools/python/..." - "//tools/bash/..." - # C++ coverage is not supported on macOS yet. - - "-//src/test/shell/bazel:bazel_cc_code_coverage_test" - # MacOS does not have cgroups so it can't support hardened sandbox - - "-//src/test/shell/integration:bazel_hardened_sandboxed_worker_test" - # https://github.com/bazelbuild/bazel/issues/16525 - - "-//src/test/java/com/google/devtools/build/lib/buildtool:KeepGoingTest" - - "-//src/test/java/com/google/devtools/build/lib/buildtool:DanglingSymlinkTest" - - "-//src/test/java/com/google/devtools/build/lib/buildtool:CompileOneDependencyIntegrationTest" - - "-//src/test/java/com/google/devtools/build/lib/buildtool:SkymeldBuildIntegrationTest" - - "-//src/test/java/com/google/devtools/build/lib/rules/objc:BazelJ2ObjcLibraryTest" - - "-//src/test/java/com/google/devtools/build/lib/skyframe/rewinding:RewindingTest" - - "-//src/test/java/com/google/devtools/build/lib/buildtool:MiscAnalysisTest" - - "-//src/test/java/com/google/devtools/build/lib/rules/objc:ObjcRulesTests" - # https://github.com/bazelbuild/bazel/issues/17007 - - "-//src/test/java/com/google/devtools/build/lib/platform:SystemMemoryPressureEventTest" # https://github.com/bazelbuild/bazel/issues/16521 & https://github.com/bazelbuild/bazel/issues/18776 - "-//src/test/shell/bazel/android/..." - "-//src/tools/android/java/com/google/devtools/build/android/..." - "-//src/test/java/com/google/devtools/build/android/dexer:AllTests" - # Macs can't find python, so these fail: https://github.com/bazelbuild/bazel/issues/18776 - - "-//src/test/shell/bazel/android:android_instrumentation_test_integration_test" - - "-//src/test/shell/bazel/android:android_instrumentation_test_integration_test_with_head_android_tools" - - "-//src/test/shell/bazel/android:aapt_integration_test" - - "-//src/test/shell/bazel/android:aapt_integration_test_with_head_android_tools" - # https://github.com/bazelbuild/bazel/issues/17411 - - "-//src/test/java/com/google/devtools/build/lib/blackbox/tests/workspace:PatchApiBlackBoxTest" - # https://github.com/bazelbuild/bazel/issues/17447 - - "-//src/test/java/com/google/devtools/build/lib/blackbox/tests/workspace:GitRepositoryBlackBoxTest" include_json_profile: - build - test diff --git a/.bazelci/presubmit.yml b/.bazelci/presubmit.yml index 4632898c32520d..916fe8d0e3cb72 100644 --- a/.bazelci/presubmit.yml +++ b/.bazelci/presubmit.yml @@ -191,10 +191,6 @@ tasks: - "//tools/aquery_differ/..." - "//tools/python/..." - "//tools/bash/..." - # C++ coverage is not supported on macOS yet. - - "-//src/test/shell/bazel:bazel_cc_code_coverage_test" - # MacOS does not have cgroups so it can't support hardened sandbox - - "-//src/test/shell/integration:bazel_hardened_sandboxed_worker_test" # https://github.com/bazelbuild/bazel/issues/16526 - "-//src/test/shell/bazel:starlark_repository_test" # https://github.com/bazelbuild/bazel/issues/17407 @@ -204,10 +200,6 @@ tasks: # https://github.com/bazelbuild/bazel/issues/17410 - "-//src/test/java/com/google/devtools/build/lib/platform:SystemMemoryPressureEventTest" # https://github.com/bazelbuild/bazel/issues/17411 - - "-//src/test/java/com/google/devtools/build/lib/blackbox/tests/workspace:PatchApiBlackBoxTest" - # https://github.com/bazelbuild/bazel/issues/17447 - - "-//src/test/java/com/google/devtools/build/lib/blackbox/tests/workspace:GitRepositoryBlackBoxTest" - # https://github.com/bazelbuild/bazel/issues/17456 - "-//src/test/shell/bazel:bazel_determinism_test" # https://github.com/bazelbuild/bazel/issues/17457 - "-//src/test/shell/bazel:jdeps_test" @@ -216,6 +208,60 @@ tasks: - "-//src/test/shell/bazel/android:android_instrumentation_test_integration_test_with_head_android_tools" - "-//src/test/shell/bazel/android:aapt_integration_test" - "-//src/test/shell/bazel/android:aapt_integration_test_with_head_android_tools" + # Disable the top 50 most time-consuming tests on macOS Intel platform in presubmit. + # Those tests are still covered in postsubmit and by macOS arm64 platform in presubmit. + # To run any of the following test in presubmit, just comment out the corresponding line. + # TODO(pcloudy): Disable the android tests after enabling them on Apple Silicon platform. + - "-//src/test/shell/bazel:bazel_bootstrap_distfile_test" + - "-//src/test/shell/bazel:bazel_bootstrap_distfile_tar_test" + # - "-//src/test/shell/bazel/android:android_integration_test" + # - "-//src/test/shell/bazel/android:android_integration_test_with_head_android_tools" + - "-//src/test/shell/bazel:bazel_proto_library_test" + - "-//src/test/py/bazel:runfiles_test" + - "-//src/test/shell/integration:loading_phase_tests" + - "-//src/test/py/bazel:bazel_module_test" + - "-//src/test/shell/integration:target_compatible_with_test" + - "-//src/test/shell/integration:bazel_json_worker_test" + - "-//src/test/shell/bazel:bazel_coverage_java_jdk17_toolchain_head_test" + - "-//src/test/shell/bazel:bazel_java_test_jdk11_toolchain_head" + # - "-//src/test/shell/bazel/android:aar_integration_test" + - "-//src/test/shell/bazel:bazel_coverage_java_test" + - "-//src/test/shell/bazel:bazel_coverage_java_jdk11_toolchain_head_test" + - "-//src/test/shell/bazel:bazel_java_test_jdk17_toolchain_head" + - "-//src/test/shell/bazel:starlark_git_repository_test" + - "-//src/test/shell/integration:build_event_stream_test" + - "-//third_party/ijar/test:zip_test" + - "-//src/test/java/com/google/devtools/build/lib/rules/java:JavaStarlarkApiTest" + - "-//src/test/shell/bazel:bazel_java_tools_test" + - "-//src/test/shell/bazel/remote:build_without_the_bytes_test" + - "-//src/test/shell/integration:bazel_sandboxed_worker_test" + - "-//src/test/shell/integration:client_test" + - "-//src/test/shell/bazel/remote:remote_execution_test" + - "-//src/test/shell/bazel:bazel_coverage_java_jdk17_toolchain_released_test" + - "-//src/test/py/bazel:bazel_vendor_test" + - "-//src/test/shell/integration:sandboxing_test" + - "-//src/test/shell/bazel:bazel_java_test" + - "-//src/test/py/bazel:bzlmod_query_test" + # - "-//src/test/shell/bazel/android:desugarer_integration_test" + # - "-//src/test/shell/bazel/android:android_local_test_integration_test" + # - "-//src/test/shell/bazel/android:desugarer_integration_test_with_head_android_tools" + - "-//src/test/py/bazel:bazel_external_repository_test" + # - "-//src/test/shell/bazel/android:resource_processing_integration_test" + - "-//src/test/shell/bazel:bazel_coverage_java_jdk11_toolchain_released_test" + # - "-//src/test/shell/bazel/android:aar_integration_test_with_head_android_tools" + # - "-//src/test/shell/bazel/android:android_local_test_integration_test_with_head_android_tools" + - "-//src/tools/singlejar:zip64_test" + - "-//src/test/py/bazel:launcher_test" + - "-//src/test/shell/integration:bazel_worker_test" + - "-//src/test/py/bazel:py_test" + - "-//src/test/shell/bazel:bazel_test_test" + - "-//src/test/py/bazel:bazel_overrides_test" + - "-//src/test/shell/bazel:path_mapping_test" + - "-//src/test/shell/integration:toolchain_test" + - "-//src/test/shell/integration:execution_phase_tests" + # - "-//src/test/shell/bazel/android:resource_processing_integration_test_with_head_android_tools" + - "-//src/test/shell/integration:aquery_test" + - "-//src/test/py/bazel:mod_command_test" include_json_profile: - build - test @@ -250,87 +296,10 @@ tasks: - "//tools/aquery_differ/..." - "//tools/python/..." - "//tools/bash/..." - # C++ coverage is not supported on macOS yet. - - "-//src/test/shell/bazel:bazel_cc_code_coverage_test" - # MacOS does not have cgroups so it can't support hardened sandbox - - "-//src/test/shell/integration:bazel_hardened_sandboxed_worker_test" - # https://github.com/bazelbuild/bazel/issues/16525 - - "-//src/test/java/com/google/devtools/build/lib/buildtool:KeepGoingTest" - - "-//src/test/java/com/google/devtools/build/lib/buildtool:DanglingSymlinkTest" - - "-//src/test/java/com/google/devtools/build/lib/buildtool:CompileOneDependencyIntegrationTest" - - "-//src/test/java/com/google/devtools/build/lib/buildtool:SkymeldBuildIntegrationTest" - - "-//src/test/java/com/google/devtools/build/lib/rules/objc:BazelJ2ObjcLibraryTest" - - "-//src/test/java/com/google/devtools/build/lib/skyframe/rewinding:RewindingTest" - - "-//src/test/java/com/google/devtools/build/lib/buildtool:MiscAnalysisTest" - - "-//src/test/java/com/google/devtools/build/lib/rules/objc:ObjcRulesTests" - # https://github.com/bazelbuild/bazel/issues/17007 - - "-//src/test/java/com/google/devtools/build/lib/platform:SystemMemoryPressureEventTest" - # Disable the most time-consuming tests on macOS arm64 platform in presubmit. - # To run any of the following test in presubmit, just comment out the corresponding line. - # TODO(pcloudy): Re-enable when Apple Silicon machine waiting time is no longer the major - # bottleneck for presubmit. - - "-//src/test/shell/bazel:bazel_determinism_test" - - "-//src/test/shell/bazel:jdeps_test" - - "-//src/test/shell/bazel:starlark_git_repository_test" - - "-//src/test/shell/bazel:bazel_bootstrap_distfile_tar_test" - - "-//src/test/shell/integration:bazel_json_worker_test" - - "-//src/test/py/bazel:runfiles_test" - - "-//src/test/py/bazel:launcher_test" - - "-//src/test/py/bazel:bazel_module_test" - - "-//src/test/shell/bazel:bazel_java_test_jdk11_toolchain_head" - - "-//src/test/shell/integration:target_compatible_with_test" - - "-//src/test/py/bazel:py_test" - - "-//src/test/py/bazel:bzlmod_query_test" - - "-//src/test/py/bazel:cc_import_test" - - "-//src/test/shell/bazel/remote:build_without_the_bytes_test" - - "-//src/test/shell/bazel:bazel_coverage_java_test" - - "-//src/test/py/bazel:bazel_yanked_versions_test" - - "-//src/test/shell/bazel:bazel_coverage_java_jdk17_toolchain_head_test" - - "-//src/test/shell/bazel:bazel_proto_library_test" - - "-//src/test/shell/bazel:bazel_java_tools_test" - - "-//src/test/shell/integration:build_event_stream_test" - - "-//src/test/py/bazel:bazel_overrides_test" - - "-//src/test/shell/bazel:cc_integration_test" - - "-//src/test/shell/bazel:bazel_java_test" - - "-//src/test/java/com/google/devtools/build/lib/rules/config:ConfigRulesTests" - - "-//src/test/shell/bazel:bazel_java_test_jdk17_toolchain_head" - - "-//src/test/shell/integration:bazel_worker_test" - - "-//src/test/shell/bazel:tags_propagation_native_test" - - "-//src/test/shell/bazel:bazel_coverage_java_jdk11_toolchain_head_test" - - "-//src/test/shell/integration:bazel_sandboxed_worker_test" - - "-//src/test/py/bazel:bazel_repo_mapping_test" - - "-//src/test/shell/bazel:bazel_coverage_java_jdk11_toolchain_released_test" - - "-//src/test/py/bazel:bazel_workspace_test" - - "-//src/test/shell/bazel:execroot_test" - - "-//src/test/shell/bazel:starlark_repository_test" - - "-//src/test/shell/bazel:bazel_coverage_java_jdk17_toolchain_released_test" - - "-//src/test/shell/bazel/remote:remote_execution_test" - - "-//src/test/shell/integration:toolchain_test" - - "-//src/test/shell/bazel:bazel_test_test" - - "-//src/test/shell/integration:test_test" - - "-//src/test/shell/bazel:bazel_execlog_test" - - "-//src/test/shell/integration:modify_execution_info_test" - - "-//src/test/shell/bazel:external_integration_test" - - "-//src/test/py/bazel:bazel_external_repository_test" - - "-//src/test/shell/bazel:bazel_workspaces_test" - - "-//src/test/shell/integration:client_test" - - "-//src/test/shell/bazel:workspace_resolved_test" - - "-//src/test/shell/bazel:bazel_repository_cache_test" - - "-//src/test/shell/integration:aquery_test" - - "-//src/test/shell/integration:py_args_escaping_test" # https://github.com/bazelbuild/bazel/issues/16521 & https://github.com/bazelbuild/bazel/issues/18776 - "-//src/test/shell/bazel/android/..." - "-//src/tools/android/java/com/google/devtools/build/android/..." - "-//src/test/java/com/google/devtools/build/android/dexer:AllTests" - # Macs can't find python, so these fail: https://github.com/bazelbuild/bazel/issues/18776 - - "-//src/test/shell/bazel/android:android_instrumentation_test_integration_test" - - "-//src/test/shell/bazel/android:android_instrumentation_test_integration_test_with_head_android_tools" - - "-//src/test/shell/bazel/android:aapt_integration_test" - - "-//src/test/shell/bazel/android:aapt_integration_test_with_head_android_tools" - # https://github.com/bazelbuild/bazel/issues/17411 - - "-//src/test/java/com/google/devtools/build/lib/blackbox/tests/workspace:PatchApiBlackBoxTest" - # https://github.com/bazelbuild/bazel/issues/17447 - - "-//src/test/java/com/google/devtools/build/lib/blackbox/tests/workspace:GitRepositoryBlackBoxTest" include_json_profile: - build - test diff --git a/.bazelrc b/.bazelrc index 45cd93df85cab5..ca3c9c7b4015dc 100644 --- a/.bazelrc +++ b/.bazelrc @@ -95,6 +95,7 @@ test:ci-macos --test_env=REPOSITORY_CACHE=/Users/buildkite/bazeltest/repo_cache test:ci-macos --test_env=REMOTE_NETWORK_ADDRESS=bazel.build:80 test:ci-macos --sandbox_writable_path=/Users/buildkite/bazeltest test:ci-macos --sandbox_default_allow_network=false +test:ci-macos --test_tag_filters=-no_macos ## For Windows common:ci-windows --config=ci-common diff --git a/src/test/java/com/google/devtools/build/lib/blackbox/tests/workspace/GitRepositoryBlackBoxTest.java b/src/test/java/com/google/devtools/build/lib/blackbox/tests/workspace/GitRepositoryBlackBoxTest.java index b3d79163ead2e9..aeeca76142ebcc 100644 --- a/src/test/java/com/google/devtools/build/lib/blackbox/tests/workspace/GitRepositoryBlackBoxTest.java +++ b/src/test/java/com/google/devtools/build/lib/blackbox/tests/workspace/GitRepositoryBlackBoxTest.java @@ -40,7 +40,7 @@ *

1. We are creating some git repository with the preset contents, which will be used for * fetching contents for the test. We plan to fetch contents specifying either commit hash, tag, or * branch. For all test variants, we are creating the same repository, as the same HEAD commit is - * marked with a tag, and can be addressed with commit hash, master branch, and tag name. + * marked with a tag, and can be addressed with commit hash, main branch, and tag name. * *

2. The contents of the git repository working tree is generated by {@link * RepoWithRuleWritingTextGenerator}. We pass some certain text to that generator; that exact text @@ -123,7 +123,7 @@ public void testCloneAtCommit() throws Exception { * general approach description in the class javadoc comment. */ @Test - public void testCloneAtMaster() throws Exception { + public void testCloneAtMain() throws Exception { Path repo = context().getTmpDir().resolve("ext_repo"); setupGitRepository(context(), repo); @@ -138,7 +138,7 @@ public void testCloneAtMaster() throws Exception { "new_git_repository(", " name='ext',", String.format(" remote='%s',", PathUtils.pathToFileURI(repo.resolve(".git"))), - " branch='master',", + " branch='main',", String.format(" build_file_content=\"\"\"%s\"\"\",", buildFileContent), ")"); @@ -158,7 +158,7 @@ public void testCheckoutOfCommitFromBranch() throws Exception { Path repo = context().getTmpDir().resolve("branch_repo"); GitRepositoryHelper gitRepository = initGitRepository(context(), repo); - context().write(repo.resolve("master.marker").toString()); + context().write(repo.resolve("main.marker").toString()); gitRepository.addAll(); gitRepository.commit("Initial commit"); @@ -171,10 +171,10 @@ public void testCheckoutOfCommitFromBranch() throws Exception { gitRepository.commit("Commit in branch"); String branchCommitHash = gitRepository.getHead(); - gitRepository.checkout("master"); + gitRepository.checkout("main"); generator.withOutputText(HELLO_FROM_EXTERNAL_REPOSITORY).setupRepository(); gitRepository.addAll(); - gitRepository.commit("Commit in master"); + gitRepository.commit("Commit in main"); context() .write( @@ -203,7 +203,7 @@ public void testCheckoutOfCommitFromTag() throws Exception { Path repo = context().getTmpDir().resolve("tag_repo"); GitRepositoryHelper gitRepository = initGitRepository(context(), repo); - context().write(repo.resolve("master.marker").toString()); + context().write(repo.resolve("main.marker").toString()); gitRepository.addAll(); gitRepository.commit("Initial commit"); @@ -217,14 +217,14 @@ public void testCheckoutOfCommitFromTag() throws Exception { gitRepository.tag("tag1"); String tagCommitHash = gitRepository.getHead(); - gitRepository.checkout("master"); + gitRepository.checkout("main"); // delete branch, so that the last commit is not an any branch. gitRepository.deleteBranch("demonstrate_branch"); generator.withOutputText(HELLO_FROM_EXTERNAL_REPOSITORY).setupRepository(); gitRepository.addAll(); - gitRepository.commit("Commit in master"); + gitRepository.commit("Commit in main"); context() .write( diff --git a/src/test/java/com/google/devtools/build/lib/blackbox/tests/workspace/GitRepositoryHelper.java b/src/test/java/com/google/devtools/build/lib/blackbox/tests/workspace/GitRepositoryHelper.java index 4574fe70316fed..ff2dd2e082c4dc 100644 --- a/src/test/java/com/google/devtools/build/lib/blackbox/tests/workspace/GitRepositoryHelper.java +++ b/src/test/java/com/google/devtools/build/lib/blackbox/tests/workspace/GitRepositoryHelper.java @@ -48,6 +48,8 @@ void init() throws Exception { runGit("init"); runGit("config", "user.email", "me@example.com"); runGit("config", "user.name", "E X Ample"); + runGit("commit", "--allow-empty", "-m", "Initial commit"); + runGit("branch", "-M", "main"); } /** diff --git a/src/test/java/com/google/devtools/build/lib/blackbox/tests/workspace/PatchApiBlackBoxTest.java b/src/test/java/com/google/devtools/build/lib/blackbox/tests/workspace/PatchApiBlackBoxTest.java index c2e5c9f6d928ee..933648cd909bf8 100644 --- a/src/test/java/com/google/devtools/build/lib/blackbox/tests/workspace/PatchApiBlackBoxTest.java +++ b/src/test/java/com/google/devtools/build/lib/blackbox/tests/workspace/PatchApiBlackBoxTest.java @@ -113,7 +113,7 @@ private void setUpPatchTestRepo( "index 1f4c41e..9d548ff 100644", "--- a/foo.sh", "+++ b/foo.sh", - "@@ -1,3 +1,3 @@", + "@@ -1,4 +1,4 @@", " #!/usr/bin/env sh", "", "-echo Here be dragons...", diff --git a/src/test/java/com/google/devtools/build/lib/sandbox/BUILD b/src/test/java/com/google/devtools/build/lib/sandbox/BUILD index 671997db568c43..a48bb170b0723d 100644 --- a/src/test/java/com/google/devtools/build/lib/sandbox/BUILD +++ b/src/test/java/com/google/devtools/build/lib/sandbox/BUILD @@ -134,7 +134,11 @@ java_test( name = "CgroupsInfoTest", size = "small", srcs = ["CgroupsInfoTest.java"], - tags = ["no_windows"], + tags = [ + # MacOS does not have cgroups so it can't support hardened sandbox + "no_macos", + "no_windows", + ], deps = [ "//src/main/java/com/google/devtools/build/lib/sandbox:linux_sandbox", "//src/main/java/com/google/devtools/build/lib/util:pair", diff --git a/src/test/shell/bazel/BUILD b/src/test/shell/bazel/BUILD index b7d442cec4cc05..edf0727cf9baa0 100644 --- a/src/test/shell/bazel/BUILD +++ b/src/test/shell/bazel/BUILD @@ -606,6 +606,8 @@ sh_test( srcs = ["bazel_cc_code_coverage_test.sh"], data = [":test-deps"], tags = [ + # C++ coverage is not supported on macOS yet. + "no_macos", "no_windows", ], ) From dcf686a7c7c01fec96c682cd8ea28c720898a80e Mon Sep 17 00:00:00 2001 From: Googler Date: Wed, 21 Feb 2024 08:57:45 -0800 Subject: [PATCH 4/5] Disable SystemMemoryPressureEventTest on macos_arm64 Still failing on macos_arm64: https://buildkite.com/bazel/bazel-bazel/builds/26931#018dcc62-e87c-4acf-8ba1-64f54c55d6da PiperOrigin-RevId: 609011770 Change-Id: I431fc77ca98869d314b0f64ed1d2587c0a2a2354 --- .bazelci/postsubmit.yml | 2 ++ .bazelci/presubmit.yml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/.bazelci/postsubmit.yml b/.bazelci/postsubmit.yml index 4d838259827415..b81982d6d782ba 100644 --- a/.bazelci/postsubmit.yml +++ b/.bazelci/postsubmit.yml @@ -238,6 +238,8 @@ tasks: - "//tools/aquery_differ/..." - "//tools/python/..." - "//tools/bash/..." + # https://github.com/bazelbuild/bazel/issues/17410 + - "-//src/test/java/com/google/devtools/build/lib/platform:SystemMemoryPressureEventTest" # https://github.com/bazelbuild/bazel/issues/16521 & https://github.com/bazelbuild/bazel/issues/18776 - "-//src/test/shell/bazel/android/..." - "-//src/tools/android/java/com/google/devtools/build/android/..." diff --git a/.bazelci/presubmit.yml b/.bazelci/presubmit.yml index 916fe8d0e3cb72..330badafd33b11 100644 --- a/.bazelci/presubmit.yml +++ b/.bazelci/presubmit.yml @@ -296,6 +296,8 @@ tasks: - "//tools/aquery_differ/..." - "//tools/python/..." - "//tools/bash/..." + # https://github.com/bazelbuild/bazel/issues/17410 + - "-//src/test/java/com/google/devtools/build/lib/platform:SystemMemoryPressureEventTest" # https://github.com/bazelbuild/bazel/issues/16521 & https://github.com/bazelbuild/bazel/issues/18776 - "-//src/test/shell/bazel/android/..." - "-//src/tools/android/java/com/google/devtools/build/android/..." From 7a515bd0c25351a29c6e2aa346212422261cad70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?X=C3=B9d=C5=8Dng=20Y=C3=A1ng?= Date: Wed, 21 Feb 2024 13:35:19 -0500 Subject: [PATCH 5/5] disable hardened sandbox tests on macos --- src/test/shell/integration/BUILD | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/test/shell/integration/BUILD b/src/test/shell/integration/BUILD index 599e6891e44190..49e397ea0bc92e 100644 --- a/src/test/shell/integration/BUILD +++ b/src/test/shell/integration/BUILD @@ -583,6 +583,8 @@ sh_test( ], shard_count = 3, tags = [ + # MacOS does not have cgroups so it can't support hardened sandbox + "no_macos", "no_windows", ], )