diff options
Diffstat (limited to 'nixpkgs/pkgs/development/tools/build-managers/bazel/bash-tools-test.nix')
-rw-r--r-- | nixpkgs/pkgs/development/tools/build-managers/bazel/bash-tools-test.nix | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bash-tools-test.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/bash-tools-test.nix new file mode 100644 index 000000000000..3bbab475c573 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bash-tools-test.nix @@ -0,0 +1,42 @@ +{ stdenv, writeText, runCommandCC, bazel }: + +# Tests that certain executables are available in bazel-executed bash shells. + +let + WORKSPACE = writeText "WORKSPACE" '' + workspace(name = "our_workspace") + ''; + + fileIn = writeText "input.txt" '' + one + two + three + ''; + + fileBUILD = writeText "BUILD" '' + genrule( + name = "tool_usage", + srcs = [ ":input.txt" ], + outs = [ "output.txt" ], + cmd = "cat $(location :input.txt) | gzip - | gunzip - | awk '/t/' > $@", + ) + ''; + + runLocal = name: script: runCommandCC name { preferLocalBuild = true; } script; + + workspaceDir = runLocal "our_workspace" '' + mkdir $out + cp ${WORKSPACE} $out/WORKSPACE + cp ${fileIn} $out/input.txt + cp ${fileBUILD} $out/BUILD + ''; + + testBazel = runLocal "bazel-test-bash-tools" '' + export HOME=$(mktemp -d) + cp -r ${workspaceDir} wd && chmod +w wd && cd wd + ${bazel}/bin/bazel build :tool_usage + cp bazel-genfiles/output.txt $out + echo "Testing content" && [ "$(cat $out | wc -l)" == "2" ] && echo "OK" + ''; + +in testBazel |