diff options
author | Robert Hensing <robert@roberthensing.nl> | 2023-07-26 13:46:42 +0200 |
---|---|---|
committer | Robert Hensing <robert@roberthensing.nl> | 2023-07-26 18:22:26 +0200 |
commit | d1dc8384cab7ef1bf0a79510295c1e91da0556ff (patch) | |
tree | b8b28b818f4c82ab8be945e17fe235d898fafb9a /pkgs/build-support/trivial-builders/test/writeShellScriptBin.nix | |
parent | 86af7da8c40276e09d8085b155c57bd6de85ffd2 (diff) |
writeCBin: Add meta.mainProgram
... and add tests.
Diffstat (limited to 'pkgs/build-support/trivial-builders/test/writeShellScriptBin.nix')
-rw-r--r-- | pkgs/build-support/trivial-builders/test/writeShellScriptBin.nix | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/pkgs/build-support/trivial-builders/test/writeShellScriptBin.nix b/pkgs/build-support/trivial-builders/test/writeShellScriptBin.nix new file mode 100644 index 0000000000000..e93410e25bcb8 --- /dev/null +++ b/pkgs/build-support/trivial-builders/test/writeShellScriptBin.nix @@ -0,0 +1,39 @@ +/* + Run with: + + cd nixpkgs + nix-build -A tests.trivial-builders.writeShellScriptBin +*/ + +{ lib, writeShellScriptBin, runCommand }: +let + output = "hello"; + pkg = writeShellScriptBin "test-script" '' + echo ${lib.escapeShellArg output} + ''; +in + assert pkg.meta.mainProgram == "test-script"; + runCommand "test-writeShellScriptBin" { } '' + + echo Testing with getExe... + + target=${lib.getExe pkg} + expected=${lib.escapeShellArg output} + got=$("$target") + if [[ "$got" != "$expected" ]]; then + echo "wrong output: expected $expected, got $got" + exit 1 + fi + + echo Testing with makeBinPath... + + PATH="${lib.makeBinPath [ pkg ]}:$PATH" + got=$(test-script) + if [[ "$got" != "$expected" ]]; then + echo "wrong output: expected $expected, got $got" + exit 1 + fi + + touch $out + '' + |