diff options
author | Profpatsch <mail@profpatsch.de> | 2021-01-01T17·43+0100 |
---|---|---|
committer | Profpatsch <mail@profpatsch.de> | 2021-01-02T14·24+0000 |
commit | 2f063bc5b0b9ef7a077ce11910fde78bfe45f29b (patch) | |
tree | a361e3cd11d2ae5d541b4531d609300c05896c96 | |
parent | 361aa2aac2fb8ec0989d449e835c19d681a0025b (diff) |
feat(nix): add runExecline.local r/2049
Similar to runCommandLocal, this turns off substitutions and prefers building locally. Change-Id: I823b34c7fc54990b54a82324172c299aeffdbf41 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2309 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de> Reviewed-by: lukegb <lukegb@tvl.fyi>
-rw-r--r-- | nix/runExecline/default.nix | 13 | ||||
-rw-r--r-- | nix/runExecline/tests.nix | 21 |
2 files changed, 17 insertions, 17 deletions
diff --git a/nix/runExecline/default.nix b/nix/runExecline/default.nix index 22d968a1c643..fd92203d0146 100644 --- a/nix/runExecline/default.nix +++ b/nix/runExecline/default.nix @@ -6,8 +6,18 @@ let inherit pkgs lib; }; + runExeclineLocal = name: args: execline: + runExecline name + (args // { + derivationArgs = args.derivationArgs or {} // { + preferLocalBuild = true; + allowSubstitutes = false; + }; + }) + execline; + tests = import ./tests.nix { - inherit runExecline; + inherit runExecline runExeclineLocal; inherit (depot.nix) getBins writeScript; inherit (pkgs) stdenv coreutils; inherit pkgs; @@ -15,5 +25,6 @@ let in { __functor = _: runExecline; + local = runExeclineLocal; inherit tests; } diff --git a/nix/runExecline/tests.nix b/nix/runExecline/tests.nix index a8f91f3cf3ae..d2f5a1780c16 100644 --- a/nix/runExecline/tests.nix +++ b/nix/runExecline/tests.nix @@ -1,4 +1,4 @@ -{ stdenv, pkgs, runExecline, getBins, writeScript +{ stdenv, pkgs, runExecline, runExeclineLocal, getBins, writeScript # https://www.mail-archive.com/skaware@list.skarnet.org/msg01256.html , coreutils }: @@ -44,23 +44,15 @@ let }; # basic test that touches out - basic = runExecline "run-execline-test-basic" { - derivationArgs = { - preferLocalBuild = true; - allowSubstitutes = false; - }; + basic = runExeclineLocal "run-execline-test-basic" { } [ "importas" "-ui" "out" "out" "${bins.s6-touch}" "$out" ]; # whether the stdin argument works as intended - stdin = fileHasLine "foo" (runExecline "run-execline-test-stdin" { + stdin = fileHasLine "foo" (runExeclineLocal "run-execline-test-stdin" { stdin = "foo\nbar\nfoo"; - derivationArgs = { - preferLocalBuild = true; - allowSubstitutes = false; - }; } [ "importas" "-ui" "out" "out" # this pipes stdout of s6-cat to $out @@ -68,15 +60,12 @@ let "redirfd" "-w" "1" "$out" bins.s6-cat ]); - wrapWithVar = runExecline "run-execline-test-wrap-with-var" { + + wrapWithVar = runExeclineLocal "run-execline-test-wrap-with-var" { builderWrapper = writeScript "var-wrapper" '' #!${bins.execlineb} -S0 export myvar myvalue $@ ''; - derivationArgs = { - preferLocalBuild = true; - allowSubstitutes = false; - }; } [ "importas" "-ui" "v" "myvar" "if" [ bins.s6-test "myvalue" "=" "$v" ] |