File tree Expand file tree Collapse file tree 2 files changed +23
-30
lines changed Expand file tree Collapse file tree 2 files changed +23
-30
lines changed Original file line number Diff line number Diff line change 99 test-derivation = import ../lib/tests.nix { inherit pkgs lib ; } ;
1010 inherit ( test-derivation ) mkTestDerivationFromNixvimModule ;
1111
12- mkTest =
13- { name , module } :
14- {
15- inherit name ;
16- path = mkTestDerivationFromNixvimModule {
17- inherit name module ;
18- pkgs = pkgsUnfree ;
19- } ;
12+ moduleToTest =
13+ name : module :
14+ mkTestDerivationFromNixvimModule {
15+ inherit name module ;
16+ pkgs = pkgsUnfree ;
2017 } ;
2118
2219 # List of files containing configurations
2724
2825 exampleFiles = {
2926 name = "examples" ;
30- modules =
27+ file = ../example.nix ;
28+ cases =
3129 let
3230 config = import ../example.nix { inherit pkgs ; } ;
3331 in
34- [
35- {
36- name = "main" ;
37- module = builtins . removeAttrs config . programs . nixvim [
38- # This is not available to standalone modules, only HM & NixOS Modules
39- "enable"
40- # This is purely an example, it does not reflect a real usage
41- "extraConfigLua"
42- "extraConfigVim"
43- ] ;
44- }
45- ] ;
32+ {
33+ main = builtins . removeAttrs config . programs . nixvim [
34+ # This is not available to standalone modules, only HM & NixOS Modules
35+ "enable"
36+ # This is purely an example, it does not reflect a real usage
37+ "extraConfigLua"
38+ "extraConfigVim"
39+ ] ;
40+ } ;
4641 } ;
4742in
4843# We attempt to build & execute all configurations
4944lib . pipe ( testFiles ++ [ exampleFiles ] ) [
5045 ( builtins . map ( file : {
5146 inherit ( file ) name ;
52- path = pkgs . linkFarm file . name ( builtins . map mkTest file . modules ) ;
47+ path = pkgs . linkFarm file . name ( builtins . mapAttrs moduleToTest file . cases ) ;
5348 } ) )
5449 ( helpers . groupListBySize 10 )
5550 ( lib . imap1 (
Original file line number Diff line number Diff line change 55 helpers ,
66} :
77let
8- # Import a test file into the form { name = ""; file = ""; modules = [] ; }
8+ # Import a test file into the form { name = ""; file = ""; cases = {} ; }
99 handleTestFile =
1010 file : namespace :
1111 let
1212 fnOrAttrs = import file ;
13+ in
14+ {
15+ inherit file ;
16+ name = lib . strings . concatStringsSep "-" namespace ;
1317 cases =
1418 if builtins . isFunction fnOrAttrs then
1519 # Call the function
1620 fnOrAttrs { inherit pkgs lib helpers ; }
1721 else
1822 fnOrAttrs ;
19- in
20- {
21- inherit file ;
22- name = lib . strings . concatStringsSep "-" namespace ;
23- modules = lib . mapAttrsToList ( name : module : { inherit name module ; } ) cases ;
2423 } ;
2524
2625 # Recurse into all directories, extracting files as we find them.
27- # This returns a list of { name; file; modules ; } attrsets.
26+ # This returns a list of { name; file; cases ; } attrsets.
2827 fetchTests =
2928 path : namespace :
3029 let
5049 builtins . concatLists
5150 ] ;
5251in
53- # A list of the form [ { name = "..."; modules = [ /* test case modules */ ]; } ]
5452fetchTests root [ ]
You can’t perform that action at this time.
0 commit comments