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.