nix-helpers: aa004e6e6519f179c86e9c5d93941a67b6ad438c
1: { attrsToDirs', coreutils, dummyBuild, fail, patchShebang, runCommand
2: , writeScript }:
3:
4: {
5: dir = runCommand "patch-dir-shebangs" rec {
6: buildInputs = [ fail ];
7: input = attrsToDirs' "shebang-dir" {
8: foo = writeScript "test-foo" ''
9: #!/usr/bin/env foo
10: #!/usr/bin/env foo
11: '';
12: bar = writeScript "test-bar" ''
13: #! /usr/bin/env bar
14: #! /usr/bin/env bar
15: '';
16: };
17: got = patchShebang { dir = input; };
18: } ''
19: for X in foo bar
20: do
21: [[ -e "$got/$X" ]] || fail "No '$got/$X' found"
22: head -n 1 < "$got/$X" |
23: grep "^#! *${coreutils}/bin/env $X" > /dev/null ||
24: fail "Didn't spot coreutils shebang in '$got/$X'"
25: tail -n 1 < "$got/$X" |
26: grep "^#! */usr/bin/env $X" > /dev/null ||
27: fail "Second shebang wasn't preserved in '$got/$X'"
28: done
29: mkdir "$out"
30: '';
31:
32: string = with rec {
33: input = ''
34: #! /usr/bin/env foo
35: #! /usr/bin/env bar
36: '';
37: want = ''
38: #! ${coreutils}/bin/env foo
39: #! /usr/bin/env bar
40: '';
41: got = patchShebang { string = input; };
42: };
43: assert want == got || die {
44: inherit input want got;
45: error = "Repaced shebangs didn't match expected";
46: };
47: dummyBuild "patch-string-shebang";
48: }
Generated by git2html.