about summary refs log tree commit diff
path: root/pkgs/development/tools/build-managers/bazel/bash-tools-test.nix
diff options
context:
space:
mode:
authorRobin Palotai <palotai.robin@gmail.com>2019-01-22 13:27:19 +0100
committerProfpatsch <mail@profpatsch.de>2019-01-26 22:22:34 +0100
commit566539ff551fa84602be519c217af94a413c956d (patch)
treeccfe670e558ae0e6a8c4df18710501a0de5a7182 /pkgs/development/tools/build-managers/bazel/bash-tools-test.nix
parentd3199ddaa780d8a3db6f0786c31f1c4319900685 (diff)
downloadnixlib-566539ff551fa84602be519c217af94a413c956d.tar
nixlib-566539ff551fa84602be519c217af94a413c956d.tar.gz
nixlib-566539ff551fa84602be519c217af94a413c956d.tar.bz2
nixlib-566539ff551fa84602be519c217af94a413c956d.tar.lz
nixlib-566539ff551fa84602be519c217af94a413c956d.tar.xz
nixlib-566539ff551fa84602be519c217af94a413c956d.tar.zst
nixlib-566539ff551fa84602be519c217af94a413c956d.zip
Add test and docs.
Diffstat (limited to 'pkgs/development/tools/build-managers/bazel/bash-tools-test.nix')
-rw-r--r--pkgs/development/tools/build-managers/bazel/bash-tools-test.nix42
1 files changed, 42 insertions, 0 deletions
diff --git a/pkgs/development/tools/build-managers/bazel/bash-tools-test.nix b/pkgs/development/tools/build-managers/bazel/bash-tools-test.nix
new file mode 100644
index 000000000000..3bbab475c573
--- /dev/null
+++ b/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