nixpkgs/pkgs/build-support/setup-hooks/wrap-gapps-hook/tests/lib.nix
Naïm Favier 532ebf6b57
wrapGAppsHook: use makeBinaryWrapper
Reduces the likelihood of having apps wrapped twice by a shell script,
which causes problems with argv0.
2022-04-26 12:14:39 +02:00

32 lines
868 B
Nix

{ lib, runCommand }:
rec {
runTest = name: body: runCommand name { } ''
set -o errexit
${body}
touch $out
'';
skip = cond: text:
if cond then ''
echo "Skipping test $name" > /dev/stderr
'' else text;
fail = text: ''
echo "FAIL: $name: ${text}" > /dev/stderr
exit 1
'';
expectSomeLineContainingYInFileXToMentionZ = file: filter: expected: ''
file=${lib.escapeShellArg file} filter=${lib.escapeShellArg filter} expected=${lib.escapeShellArg expected}
if ! grep --text --quiet "$filter" "$file"; then
${fail "The file $file should include a line containing $filter."}
fi
if ! grep --text "$filter" "$file" | grep --text --quiet "$expected"; then
${fail "The file $file should include a line containing $filter that also contains $expected."}
fi
'';
}