aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test
diff options
context:
space:
mode:
authorGravatar kchodorow <kchodorow@google.com>2017-03-30 16:45:03 +0000
committerGravatar Philipp Wollermann <philwo@google.com>2017-03-31 17:09:07 +0200
commit1d9e1ac90197b1d3d7b137ba3c1ada67bb9ba31b (patch)
treee1fd678b5e641169c50762929b7641a17b4e147f /src/test
parentea6f209f88e4292f0af5b75ef6872e1902eaeccd (diff)
Symlink output directories to the correct directory name
If the workspace directory is /path/to/my/proj and the name in the WORKSPACE file is "floop", this will symlink the output directories to output_base/execroot/floop instead of output_base/execroot/proj. More prep for #1262, fixes #1681. PiperOrigin-RevId: 151712384
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/actions/SymlinkActionTest.java4
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/config/BuildConfigurationTest.java6
-rw-r--r--src/test/java/com/google/devtools/build/lib/exec/util/TestExecutorBuilder.java3
-rw-r--r--src/test/java/com/google/devtools/build/lib/integration/util/IntegrationMock.java5
-rw-r--r--src/test/java/com/google/devtools/build/lib/runtime/TestResultAnalyzerTest.java4
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/WorkspaceNameFunctionTest.java8
-rw-r--r--src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleContextTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/standalone/StandaloneSpawnStrategyTest.java8
-rwxr-xr-xsrc/test/shell/integration/runfiles_test.sh12
9 files changed, 30 insertions, 22 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/actions/SymlinkActionTest.java b/src/test/java/com/google/devtools/build/lib/analysis/actions/SymlinkActionTest.java
index 0410e5ce50..5f58462fc6 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/actions/SymlinkActionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/actions/SymlinkActionTest.java
@@ -24,6 +24,7 @@ import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.actions.Executor;
import com.google.devtools.build.lib.analysis.util.BuildViewTestCase;
import com.google.devtools.build.lib.exec.util.TestExecutorBuilder;
+import com.google.devtools.build.lib.testutil.TestConstants;
import com.google.devtools.build.lib.vfs.FileSystemUtils;
import com.google.devtools.build.lib.vfs.Path;
import org.junit.Before;
@@ -47,7 +48,8 @@ public class SymlinkActionTest extends BuildViewTestCase {
public final void setUp() throws Exception {
input = scratch.file("input.txt", "Hello, world.");
inputArtifact = getSourceArtifact("input.txt");
- Path linkedInput = directories.getExecRoot().getRelative("input.txt");
+ Path linkedInput =
+ directories.getExecRoot(TestConstants.WORKSPACE_NAME).getRelative("input.txt");
FileSystemUtils.createDirectoryAndParents(linkedInput.getParentDirectory());
linkedInput.createSymbolicLink(input);
outputArtifact = getBinArtifactWithNoOwner("destination.txt");
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/config/BuildConfigurationTest.java b/src/test/java/com/google/devtools/build/lib/analysis/config/BuildConfigurationTest.java
index 6e7d1064b6..88f8f4a4aa 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/config/BuildConfigurationTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/config/BuildConfigurationTest.java
@@ -51,7 +51,8 @@ public class BuildConfigurationTest extends ConfigurationTestCase {
BuildConfiguration config = create("--cpu=piii");
String outputDirPrefix = outputBase
- + "/workspace/blaze-out/gcc-4.4.0-glibc-2.3.6-grte-piii-fastbuild";
+ + "/" + config.getMainRepositoryName()
+ + "/blaze-out/gcc-4.4.0-glibc-2.3.6-grte-piii-fastbuild";
assertEquals(outputDirPrefix,
config.getOutputDirectory(RepositoryName.MAIN).getPath().toString());
@@ -72,7 +73,8 @@ public class BuildConfigurationTest extends ConfigurationTestCase {
}
BuildConfiguration config = create("--platform_suffix=-test");
- assertEquals(outputBase + "/workspace/blaze-out/gcc-4.4.0-glibc-2.3.6-grte-k8-fastbuild-test",
+ assertEquals(outputBase + "/" + config.getMainRepositoryName()
+ + "/blaze-out/gcc-4.4.0-glibc-2.3.6-grte-k8-fastbuild-test",
config.getOutputDirectory(RepositoryName.MAIN).getPath().toString());
}
diff --git a/src/test/java/com/google/devtools/build/lib/exec/util/TestExecutorBuilder.java b/src/test/java/com/google/devtools/build/lib/exec/util/TestExecutorBuilder.java
index 698a860e3d..23e678297b 100644
--- a/src/test/java/com/google/devtools/build/lib/exec/util/TestExecutorBuilder.java
+++ b/src/test/java/com/google/devtools/build/lib/exec/util/TestExecutorBuilder.java
@@ -29,6 +29,7 @@ import com.google.devtools.build.lib.exec.ExecutionOptions;
import com.google.devtools.build.lib.exec.FileWriteStrategy;
import com.google.devtools.build.lib.exec.SymlinkTreeStrategy;
import com.google.devtools.build.lib.runtime.CommonCommandOptions;
+import com.google.devtools.build.lib.testutil.TestConstants;
import com.google.devtools.build.lib.util.BlazeClock;
import com.google.devtools.common.options.OptionsBase;
import com.google.devtools.common.options.OptionsParser;
@@ -96,7 +97,7 @@ public class TestExecutorBuilder {
public BlazeExecutor build() throws ExecutorInitException {
return new BlazeExecutor(
- directories.getExecRoot(),
+ directories.getExecRoot(TestConstants.WORKSPACE_NAME),
reporter,
bus,
BlazeClock.instance(),
diff --git a/src/test/java/com/google/devtools/build/lib/integration/util/IntegrationMock.java b/src/test/java/com/google/devtools/build/lib/integration/util/IntegrationMock.java
index 5b497450b3..32f5e2701f 100644
--- a/src/test/java/com/google/devtools/build/lib/integration/util/IntegrationMock.java
+++ b/src/test/java/com/google/devtools/build/lib/integration/util/IntegrationMock.java
@@ -36,7 +36,8 @@ public class IntegrationMock {
* Populates the _embedded_binaries/ directory, containing all binaries/libraries, by symlinking
* directories#getEmbeddedBinariesRoot() to the test's runfiles tree.
*/
- public BinTools getIntegrationBinTools(BlazeDirectories directories) throws IOException {
+ public BinTools getIntegrationBinTools(BlazeDirectories directories, String workspaceName)
+ throws IOException {
Path embeddedDir = directories.getEmbeddedBinariesRoot();
FileSystemUtils.createDirectoryAndParents(embeddedDir);
@@ -61,6 +62,6 @@ public class IntegrationMock {
}
return BinTools.forIntegrationTesting(
- directories, embeddedDir.toString(), TestConstants.EMBEDDED_TOOLS);
+ directories, embeddedDir.toString(), TestConstants.EMBEDDED_TOOLS, workspaceName);
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/runtime/TestResultAnalyzerTest.java b/src/test/java/com/google/devtools/build/lib/runtime/TestResultAnalyzerTest.java
index 7e2baafc3b..c1a104d599 100644
--- a/src/test/java/com/google/devtools/build/lib/runtime/TestResultAnalyzerTest.java
+++ b/src/test/java/com/google/devtools/build/lib/runtime/TestResultAnalyzerTest.java
@@ -30,11 +30,9 @@ import com.google.devtools.build.lib.rules.test.TestRunnerAction;
import com.google.devtools.build.lib.runtime.TerminalTestResultNotifier.TestSummaryOptions;
import com.google.devtools.build.lib.testutil.Suite;
import com.google.devtools.build.lib.testutil.TestSpec;
-import com.google.devtools.build.lib.vfs.Path;
import com.google.devtools.build.lib.view.test.TestStatus.BlazeTestStatus;
import com.google.devtools.build.lib.view.test.TestStatus.TestResultData;
import com.google.devtools.common.options.OptionsParser;
-
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -48,12 +46,10 @@ public class TestResultAnalyzerTest {
@Before
public final void createMocks() throws Exception {
- Path mockPath = mock(Path.class);
OptionsParser testSpecificOptions = OptionsParser.newOptionsParser(
TestSummaryOptions.class, ExecutionOptions.class);
EventBus mockBus = mock(EventBus.class);
underTest = new TestResultAnalyzer(
- mockPath,
testSpecificOptions.getOptions(TestSummaryOptions.class),
testSpecificOptions.getOptions(ExecutionOptions.class),
mockBus);
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/WorkspaceNameFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/WorkspaceNameFunctionTest.java
index fbb1e644ef..e93669cdc2 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/WorkspaceNameFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/WorkspaceNameFunctionTest.java
@@ -55,8 +55,9 @@ public class WorkspaceNameFunctionTest extends BuildViewTestCase {
reporter.removeHandler(failFastHandler);
scratch.overwriteFile("WORKSPACE", "workspace(bad)");
assertThatEvaluationResult(eval())
- .hasEntryThat(key)
- .isEqualTo(WorkspaceNameValue.withError());
+ .hasErrorEntryForKeyThat(key)
+ .hasExceptionThat()
+ .isInstanceOf(NoSuchPackageException.class);
assertContainsEvent("name 'bad' is not defined");
}
@@ -77,9 +78,6 @@ public class WorkspaceNameFunctionTest extends BuildViewTestCase {
public void testEqualsAndHashCode(){
new EqualsTester()
.addEqualityGroup(
- WorkspaceNameValue.withError(),
- WorkspaceNameValue.withError())
- .addEqualityGroup(
WorkspaceNameValue.withName("foo"),
WorkspaceNameValue.withName("foo"))
.addEqualityGroup(
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleContextTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleContextTest.java
index 5a31671b2d..720cb12654 100644
--- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleContextTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleContextTest.java
@@ -730,7 +730,7 @@ public class SkylarkRuleContextTest extends SkylarkTestCase {
assertThat(ruleClassProvider.getRunfilesPrefix()).isNotEmpty();
SkylarkRuleContext ruleContext = createRuleContext("//foo:foo");
Object result = evalRuleContextCode(ruleContext, "ruleContext.workspace_name");
- assertSame(result, ruleClassProvider.getRunfilesPrefix());
+ assertEquals(result, ruleClassProvider.getRunfilesPrefix());
}
@Test
diff --git a/src/test/java/com/google/devtools/build/lib/standalone/StandaloneSpawnStrategyTest.java b/src/test/java/com/google/devtools/build/lib/standalone/StandaloneSpawnStrategyTest.java
index 10e76cd33d..a78c662c3b 100644
--- a/src/test/java/com/google/devtools/build/lib/standalone/StandaloneSpawnStrategyTest.java
+++ b/src/test/java/com/google/devtools/build/lib/standalone/StandaloneSpawnStrategyTest.java
@@ -40,6 +40,7 @@ import com.google.devtools.build.lib.exec.ExecutionOptions;
import com.google.devtools.build.lib.exec.SingleBuildFileCache;
import com.google.devtools.build.lib.integration.util.IntegrationMock;
import com.google.devtools.build.lib.rules.apple.AppleConfiguration;
+import com.google.devtools.build.lib.testutil.TestConstants;
import com.google.devtools.build.lib.testutil.TestFileOutErr;
import com.google.devtools.build.lib.testutil.TestUtils;
import com.google.devtools.build.lib.util.BlazeClock;
@@ -92,7 +93,7 @@ public class StandaloneSpawnStrategyTest {
BlazeDirectories directories =
new BlazeDirectories(outputBase, outputBase, workspaceDir, "mock-product-name");
// This call implicitly symlinks the integration bin tools into the exec root.
- IntegrationMock.get().getIntegrationBinTools(directories);
+ IntegrationMock.get().getIntegrationBinTools(directories, TestConstants.WORKSPACE_NAME);
OptionsParser optionsParser = OptionsParser.newOptionsParser(ExecutionOptions.class);
optionsParser.parse("--verbose_failures");
@@ -101,9 +102,10 @@ public class StandaloneSpawnStrategyTest {
ResourceManager resourceManager = ResourceManager.instanceForTestingOnly();
resourceManager.setAvailableResources(
ResourceSet.create(/*memoryMb=*/1, /*cpuUsage=*/1, /*ioUsage=*/1, /*localTestCount=*/1));
+ Path execRoot = directories.getExecRoot(TestConstants.WORKSPACE_NAME);
this.executor =
new BlazeExecutor(
- directories.getExecRoot(),
+ execRoot,
reporter,
bus,
BlazeClock.instance(),
@@ -112,7 +114,7 @@ public class StandaloneSpawnStrategyTest {
ImmutableMap.<String, SpawnActionContext>of(
"",
new StandaloneSpawnStrategy(
- directories.getExecRoot(), false, "mock-product-name", resourceManager)),
+ execRoot, false, "mock-product-name", resourceManager)),
ImmutableList.<ActionContextProvider>of());
executor.getExecRoot().createDirectory();
diff --git a/src/test/shell/integration/runfiles_test.sh b/src/test/shell/integration/runfiles_test.sh
index ef1faf0cf6..f8824fba11 100755
--- a/src/test/shell/integration/runfiles_test.sh
+++ b/src/test/shell/integration/runfiles_test.sh
@@ -140,9 +140,15 @@ EOF
assert_equals 13 $(wc -l < MANIFEST)
for i in $(find ${WORKSPACE_NAME} \! -type d); do
- echo "$i $(readlink "$i")"
- done >MANIFEST2
- diff -u <(sort MANIFEST) <(sort MANIFEST2)
+ if readlink "$i" > /dev/null; then
+ echo "$i $(readlink "$i")" >> ${TEST_TMPDIR}/MANIFEST2
+ else
+ echo "$i " >> ${TEST_TMPDIR}/MANIFEST2
+ fi
+ done
+ sort MANIFEST > ${TEST_TMPDIR}/MANIFEST_sorted
+ sort ${TEST_TMPDIR}/MANIFEST2 > ${TEST_TMPDIR}/MANIFEST2_sorted
+ diff -u ${TEST_TMPDIR}/MANIFEST_sorted ${TEST_TMPDIR}/MANIFEST2_sorted
}
function test_workspace_name_change() {