From b194653252feb363ff3c3c7ac015329f5137a3f9 Mon Sep 17 00:00:00 2001 From: michajlo Date: Tue, 15 Feb 2022 11:29:04 -0800 Subject: [PATCH] Enable EditDuringBuildTest Input had to be made writable by the sandbox. This makes the assumption that the input path the rule sees and as staged by the test are the same thing (aka we're not copying inputs into the environment), which seems to hold for now. PiperOrigin-RevId: 428832842 --- .../java/com/google/devtools/build/lib/buildtool/BUILD | 2 -- .../build/lib/buildtool/EditDuringBuildTest.java | 10 +++++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/test/java/com/google/devtools/build/lib/buildtool/BUILD b/src/test/java/com/google/devtools/build/lib/buildtool/BUILD index eb5244cc680cae..7e9dfd9d18c74a 100644 --- a/src/test/java/com/google/devtools/build/lib/buildtool/BUILD +++ b/src/test/java/com/google/devtools/build/lib/buildtool/BUILD @@ -206,7 +206,6 @@ java_test( name = "EditDuringBuildTest", srcs = ["EditDuringBuildTest.java"], tags = [ - "manual", "no_windows", ], deps = [ @@ -609,7 +608,6 @@ build_test( ":ContextProviderInitializationTest", ":CorruptedActionCacheTest", ":DanglingSymlinkTest", - ":EditDuringBuildTest", ":EnvironmentRestrictedBuildTest", ":IncludeValidationTest", ":LabelCrossesPackageBoundaryTest", diff --git a/src/test/java/com/google/devtools/build/lib/buildtool/EditDuringBuildTest.java b/src/test/java/com/google/devtools/build/lib/buildtool/EditDuringBuildTest.java index 00a6a6e0e57570..e7b1dc8a677bbc 100644 --- a/src/test/java/com/google/devtools/build/lib/buildtool/EditDuringBuildTest.java +++ b/src/test/java/com/google/devtools/build/lib/buildtool/EditDuringBuildTest.java @@ -41,6 +41,13 @@ public class EditDuringBuildTest extends BuildIntegrationTestCase { @Test public void testEditDuringBuild() throws Exception { + Path in = write("edit/in", "line1"); + in.setLastModifiedTime(123456789); + + // Make in writable from sandbox (in case sandbox strategy is used). + String absoluteInPath = in.getPathString(); + addOptions("--sandbox_writable_path=" + absoluteInPath); + // The "echo" effects editing of the source file during the build: write("edit/BUILD", "genrule(name = 'edit',", @@ -49,9 +56,6 @@ public void testEditDuringBuild() throws Exception { " cmd = '/bin/cp $(location in) $(location out) && " + "echo line2 >>$(location in)')"); - Path in = write("edit/in", "line1"); - in.setLastModifiedTime(123456789); - // Edit during build => undefined result (in fact, "line1") String out = buildAndReadOutputFile(); assertThat(out).isEqualTo("line1\n");