File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 55
66let
77 lib = pkgs . lib ;
8- # wrapperWithoutNixDirenv = self.wrappers.direnv.wrap {
9- # inherit pkgs;
10- # nix-direnv.enable = true;
11- # };
12- # wrapperWithNixDirenv = self.wrappers.direnv.wrap {
13- # inherit pkgs;
14- # nix-direnv.enable = true;
15- # };
16- # TODO: This seems dumb. Is there no better way to do this?
17- # cfg = (wrapperWithNixDirenv.eval { }).config;
18- # dotdir = "${wrapperWithNixDirenv}/${cfg.configDirname}";
19-
208 testUtils = ''
219 is_directory() {
2210 local path="$1"
4028 '' ;
4129
4230 runTest =
43- name : attrs : script :
44- pkgs . runCommand name attrs ''
31+ name : script :
32+ pkgs . runCommand name { } ''
4533 ${ testUtils }
4634
4735 ${ script }
4836
4937 touch $out
5038 '' ;
5139
52- runCheck = name : ( import ./checks/${ name } ) { inherit pkgs self runTest ; } ;
40+ runTests =
41+ name : tests :
42+ runTest "test-group-${ name } " ''
43+ # "${ lib . concatStringsSep " " tests } "
44+ '' ;
45+
46+ runCheck =
47+ name :
48+ ( import ./checks/${ name } ) {
49+ inherit
50+ pkgs
51+ self
52+ runTest
53+ runTests
54+ ;
55+ } ;
5356 checks = lib . pipe ./checks [
5457 builtins . readDir
5558 ( lib . filterAttrs ( name : type : type == "regular" ) )
5659 ( lib . mapAttrsToList ( name : _ : ( runCheck name ) ) )
5760 ] ;
5861in
59- # TODO: We need to return a derivation.
60- # Create a dummie derivation that references `checks` to
61- # ensure they are evaluated.
62- runTest "all-tests" { } ''
63- # "${ lib . concatStringsSep " " checks } "
64- ''
62+ runTests "direnv-all" checks
Original file line number Diff line number Diff line change 22 pkgs ,
33 self ,
44 runTest ,
5+ runTests ,
56} :
67
78let
8- wrapper = self . wrappers . direnv . wrap {
9- inherit pkgs ;
10- nix-direnv . enable = true ;
11- } ;
12- # TODO: This seems dumb. Is there no better way to do this?
13- cfg = ( wrapper . eval { } ) . config ;
14- dotdir = "${ wrapper } /${ cfg . configDirname } " ;
15-
16- test = runTest "direnv-test" { } ''
17- "${ wrapper } /bin/direnv" --version | grep -q "${ wrapper . version } "
18- is_directory "${ dotdir } "
19- is_file "${ dotdir } /lib/nix-direnv.sh"
20- '' ;
9+ getDotdir =
10+ wrapper :
11+ let
12+ cfg = ( wrapper . eval { } ) . config ;
13+ dotdir = "${ wrapper } /${ cfg . configDirname } " ;
14+ in
15+ dotdir ;
2116in
22- test
17+ runTests "nix-direnv" [
18+ ( runTest "if nix-direnv is enabled then lib/nix-direnv.sh exists" (
19+ let
20+ wrapper = self . wrappers . direnv . wrap {
21+ inherit pkgs ;
22+ nix-direnv . enable = true ;
23+ } ;
24+ in
25+ ''
26+ "${ wrapper } /bin/direnv" --version | grep -q "${ wrapper . version } "
27+ is_directory "${ getDotdir wrapper } "
28+ is_file "${ getDotdir wrapper } /lib/nix-direnv.sh"
29+ ''
30+ ) )
31+ ( runTest "if nix-direnv is diabled then lib/nix-direnv.sh does note exist" (
32+ let
33+ wrapper = self . wrappers . direnv . wrap {
34+ inherit pkgs ;
35+ nix-direnv . enable = false ;
36+ } ;
37+ in
38+ ''
39+ "${ wrapper } /bin/direnv" --version | grep -q "${ wrapper . version } "
40+ is_directory "${ getDotdir wrapper } "
41+ ! is_file "${ getDotdir wrapper } /lib/nix-direnv.sh"
42+ ''
43+ ) )
44+ ]
You can’t perform that action at this time.
0 commit comments