Search in sources :

Example 11 with Spawn

use of com.google.devtools.build.lib.actions.Spawn in project bazel by bazelbuild.

the class StandaloneSpawnStrategyTest method testBinTrueExecutesFine.

@Test
public void testBinTrueExecutesFine() throws Exception {
    Spawn spawn = createSpawn(getTrueCommand());
    executor.getSpawnActionContext(spawn.getMnemonic()).exec(spawn, createContext());
    assertThat(out()).isEmpty();
    assertThat(err()).isEmpty();
}
Also used : BaseSpawn(com.google.devtools.build.lib.actions.BaseSpawn) Spawn(com.google.devtools.build.lib.actions.Spawn) Test(org.junit.Test)

Example 12 with Spawn

use of com.google.devtools.build.lib.actions.Spawn in project bazel by bazelbuild.

the class StandaloneSpawnStrategyTest method testBinEchoPrintsArguments.

@Test
public void testBinEchoPrintsArguments() throws Exception {
    Spawn spawn = createSpawn("/bin/echo", "Hello,", "world.");
    run(spawn);
    assertEquals("Hello, world.\n", out());
    assertThat(err()).isEmpty();
}
Also used : BaseSpawn(com.google.devtools.build.lib.actions.BaseSpawn) Spawn(com.google.devtools.build.lib.actions.Spawn) Test(org.junit.Test)

Example 13 with Spawn

use of com.google.devtools.build.lib.actions.Spawn in project bazel by bazelbuild.

the class SpawnGccStrategy method execWithReply.

@Override
public CppCompileActionContext.Reply execWithReply(CppCompileAction action, ActionExecutionContext actionExecutionContext) throws ExecException, InterruptedException {
    if (action.getDotdFile() != null && action.getDotdFile().artifact() == null) {
        throw new UserExecException("cannot execute remotely or locally: " + action.getPrimaryInput().getExecPathString());
    }
    Iterable<Artifact> inputs = Iterables.concat(action.getInputs(), action.getAdditionalInputs());
    Spawn spawn = new SimpleSpawn(action, ImmutableList.copyOf(action.getArgv()), ImmutableMap.copyOf(action.getEnvironment()), ImmutableMap.copyOf(action.getExecutionInfo()), EmptyRunfilesSupplier.INSTANCE, ImmutableList.<Artifact>copyOf(inputs), /*tools=*/
    ImmutableList.<Artifact>of(), /*filesetManifests=*/
    ImmutableList.<Artifact>of(), action.getOutputs().asList(), action.estimateResourceConsumptionLocal());
    actionExecutionContext.getExecutor().getSpawnActionContext(action.getMnemonic()).exec(spawn, actionExecutionContext);
    return null;
}
Also used : SimpleSpawn(com.google.devtools.build.lib.actions.SimpleSpawn) UserExecException(com.google.devtools.build.lib.actions.UserExecException) Spawn(com.google.devtools.build.lib.actions.Spawn) SimpleSpawn(com.google.devtools.build.lib.actions.SimpleSpawn) Artifact(com.google.devtools.build.lib.actions.Artifact)

Aggregations

Spawn (com.google.devtools.build.lib.actions.Spawn)13 BaseSpawn (com.google.devtools.build.lib.actions.BaseSpawn)10 Test (org.junit.Test)8 Artifact (com.google.devtools.build.lib.actions.Artifact)5 ActionInput (com.google.devtools.build.lib.actions.ActionInput)3 TreeFileArtifact (com.google.devtools.build.lib.actions.Artifact.TreeFileArtifact)3 ExecException (com.google.devtools.build.lib.actions.ExecException)3 Executor (com.google.devtools.build.lib.actions.Executor)3 SimpleSpawn (com.google.devtools.build.lib.actions.SimpleSpawn)3 SpecialArtifact (com.google.devtools.build.lib.actions.Artifact.SpecialArtifact)2 ActionsTestUtil (com.google.devtools.build.lib.actions.util.ActionsTestUtil)2 IOException (java.io.IOException)2 ImmutableList (com.google.common.collect.ImmutableList)1 ImmutableMap (com.google.common.collect.ImmutableMap)1 ActionExecutionException (com.google.devtools.build.lib.actions.ActionExecutionException)1 ArtifactPrefixConflictException (com.google.devtools.build.lib.actions.ArtifactPrefixConflictException)1 EnvironmentalExecException (com.google.devtools.build.lib.actions.EnvironmentalExecException)1 UserExecException (com.google.devtools.build.lib.actions.UserExecException)1 SpawnInfo (com.google.devtools.build.lib.actions.extra.SpawnInfo)1 RunfilesSupplierImpl (com.google.devtools.build.lib.analysis.RunfilesSupplierImpl)1