diff options
author | aszlig <aszlig@nix.build> | 2017-11-25T00·03+0100 |
---|---|---|
committer | aszlig <aszlig@nix.build> | 2017-11-25T00·34+0100 |
commit | 6567ab95a0b5cdca3f8b22dbbcd98ec5d18b63b0 (patch) | |
tree | f91f5e506c891d118c99a29fed50a2d3eb8b21b6 /tests | |
parent | 549c3706a5d63e10d908b43da8479331a844018f (diff) |
build-remote: Fix missing log output
The storeUri variable in the build-remote hook is declared very much to the start of the main function and a bunch of lines later, the same variable gets checked via hasPrefix() but it gets assigned *after* that check when the most suitable machine for the build was choosen. So I guess this was just a typo in d16fd2497374671c92cb877f9570d65783a7 and what we really want is to either checkd the prefix *after* assigning storeUri or use bestMachine->storeUri directly. I choose the latter, because the former could introduce even more regressions if the try block where the variable gets assigned terminates early. Nevertheless, the reason why the log output didn't work is because hasPrefix() checked for "ssh://" in front of storeUri, but if the storeUri isn't set correctly (or at all), we don't get the log file descriptor set up properly, leading to no log output. I've adjusted the remote-builds test to include a regression test for this, so that we can make sure we get a build output when using remote builds. In addition to that I've tested this with two of my build farms and the build logs are emitted correctly again. Signed-off-by: aszlig <aszlig@nix.build>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/remote-builds.nix | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/tests/remote-builds.nix b/tests/remote-builds.nix index 39bd090e43e7..58a26d8b6182 100644 --- a/tests/remote-builds.nix +++ b/tests/remote-builds.nix @@ -85,7 +85,10 @@ in } # Perform a build and check that it was performed on the slave. - my $out = $client->succeed("nix-build ${expr nodes.client.config 1}"); + my $out = $client->succeed( + "nix-build ${expr nodes.client.config 1} 2> build-output", + "grep -q Hello build-output" + ); $slave1->succeed("test -e $out"); # And a parallel build. |