Skip to content

Commit

Permalink
lib/tests: remove strictly loaOf tests and rebase on attrsOf
Browse files Browse the repository at this point in the history
  • Loading branch information
rnhmjoj authored and worldofpeace committed Jan 6, 2020
1 parent 1d61efb commit cde4649
Show file tree
Hide file tree
Showing 23 changed files with 59 additions and 103 deletions.
56 changes: 25 additions & 31 deletions lib/tests/modules.sh
Original file line number Diff line number Diff line change
Expand Up @@ -87,36 +87,36 @@ checkConfigOutput "false" "$@" ./define-force-enable.nix
checkConfigOutput "false" "$@" ./define-enable-force.nix

# Check mkForce with option and submodules.
checkConfigError 'attribute .*foo.* .* not found' config.loaOfSub.foo.enable ./declare-loaOfSub-any-enable.nix
checkConfigOutput 'false' config.loaOfSub.foo.enable ./declare-loaOfSub-any-enable.nix ./define-loaOfSub-foo.nix
set -- config.loaOfSub.foo.enable ./declare-loaOfSub-any-enable.nix ./define-loaOfSub-foo-enable.nix
checkConfigError 'attribute .*foo.* .* not found' config.attrsOfSub.foo.enable ./declare-attrsOfSub-any-enable.nix
checkConfigOutput 'false' config.attrsOfSub.foo.enable ./declare-attrsOfSub-any-enable.nix ./define-attrsOfSub-foo.nix
set -- config.attrsOfSub.foo.enable ./declare-attrsOfSub-any-enable.nix ./define-attrsOfSub-foo-enable.nix
checkConfigOutput 'true' "$@"
checkConfigOutput 'false' "$@" ./define-force-loaOfSub-foo-enable.nix
checkConfigOutput 'false' "$@" ./define-loaOfSub-force-foo-enable.nix
checkConfigOutput 'false' "$@" ./define-loaOfSub-foo-force-enable.nix
checkConfigOutput 'false' "$@" ./define-loaOfSub-foo-enable-force.nix
checkConfigOutput 'false' "$@" ./define-force-attrsOfSub-foo-enable.nix
checkConfigOutput 'false' "$@" ./define-attrsOfSub-force-foo-enable.nix
checkConfigOutput 'false' "$@" ./define-attrsOfSub-foo-force-enable.nix
checkConfigOutput 'false' "$@" ./define-attrsOfSub-foo-enable-force.nix

# Check overriding effect of mkForce on submodule definitions.
checkConfigError 'attribute .*bar.* .* not found' config.loaOfSub.bar.enable ./declare-loaOfSub-any-enable.nix ./define-loaOfSub-foo.nix
checkConfigOutput 'false' config.loaOfSub.bar.enable ./declare-loaOfSub-any-enable.nix ./define-loaOfSub-foo.nix ./define-loaOfSub-bar.nix
set -- config.loaOfSub.bar.enable ./declare-loaOfSub-any-enable.nix ./define-loaOfSub-foo.nix ./define-loaOfSub-bar-enable.nix
checkConfigError 'attribute .*bar.* .* not found' config.attrsOfSub.bar.enable ./declare-attrsOfSub-any-enable.nix ./define-attrsOfSub-foo.nix
checkConfigOutput 'false' config.attrsOfSub.bar.enable ./declare-attrsOfSub-any-enable.nix ./define-attrsOfSub-foo.nix ./define-attrsOfSub-bar.nix
set -- config.attrsOfSub.bar.enable ./declare-attrsOfSub-any-enable.nix ./define-attrsOfSub-foo.nix ./define-attrsOfSub-bar-enable.nix
checkConfigOutput 'true' "$@"
checkConfigError 'attribute .*bar.* .* not found' "$@" ./define-force-loaOfSub-foo-enable.nix
checkConfigError 'attribute .*bar.* .* not found' "$@" ./define-loaOfSub-force-foo-enable.nix
checkConfigOutput 'true' "$@" ./define-loaOfSub-foo-force-enable.nix
checkConfigOutput 'true' "$@" ./define-loaOfSub-foo-enable-force.nix
checkConfigError 'attribute .*bar.* .* not found' "$@" ./define-force-attrsOfSub-foo-enable.nix
checkConfigError 'attribute .*bar.* .* not found' "$@" ./define-attrsOfSub-force-foo-enable.nix
checkConfigOutput 'true' "$@" ./define-attrsOfSub-foo-force-enable.nix
checkConfigOutput 'true' "$@" ./define-attrsOfSub-foo-enable-force.nix

# Check mkIf with submodules.
checkConfigError 'attribute .*foo.* .* not found' config.loaOfSub.foo.enable ./declare-enable.nix ./declare-loaOfSub-any-enable.nix
set -- config.loaOfSub.foo.enable ./declare-enable.nix ./declare-loaOfSub-any-enable.nix
checkConfigError 'attribute .*foo.* .* not found' "$@" ./define-if-loaOfSub-foo-enable.nix
checkConfigError 'attribute .*foo.* .* not found' "$@" ./define-loaOfSub-if-foo-enable.nix
checkConfigError 'attribute .*foo.* .* not found' "$@" ./define-loaOfSub-foo-if-enable.nix
checkConfigOutput 'false' "$@" ./define-loaOfSub-foo-enable-if.nix
checkConfigOutput 'true' "$@" ./define-enable.nix ./define-if-loaOfSub-foo-enable.nix
checkConfigOutput 'true' "$@" ./define-enable.nix ./define-loaOfSub-if-foo-enable.nix
checkConfigOutput 'true' "$@" ./define-enable.nix ./define-loaOfSub-foo-if-enable.nix
checkConfigOutput 'true' "$@" ./define-enable.nix ./define-loaOfSub-foo-enable-if.nix
checkConfigError 'attribute .*foo.* .* not found' config.attrsOfSub.foo.enable ./declare-enable.nix ./declare-attrsOfSub-any-enable.nix
set -- config.attrsOfSub.foo.enable ./declare-enable.nix ./declare-attrsOfSub-any-enable.nix
checkConfigError 'attribute .*foo.* .* not found' "$@" ./define-if-attrsOfSub-foo-enable.nix
checkConfigError 'attribute .*foo.* .* not found' "$@" ./define-attrsOfSub-if-foo-enable.nix
checkConfigError 'attribute .*foo.* .* not found' "$@" ./define-attrsOfSub-foo-if-enable.nix
checkConfigOutput 'false' "$@" ./define-attrsOfSub-foo-enable-if.nix
checkConfigOutput 'true' "$@" ./define-enable.nix ./define-if-attrsOfSub-foo-enable.nix
checkConfigOutput 'true' "$@" ./define-enable.nix ./define-attrsOfSub-if-foo-enable.nix
checkConfigOutput 'true' "$@" ./define-enable.nix ./define-attrsOfSub-foo-if-enable.nix
checkConfigOutput 'true' "$@" ./define-enable.nix ./define-attrsOfSub-foo-enable-if.nix

# Check disabledModules with config definitions and option declarations.
set -- config.enable ./define-enable.nix ./declare-enable.nix
Expand All @@ -138,7 +138,7 @@ checkConfigError 'while evaluating the module argument .*custom.* in .*import-cu
checkConfigError 'infinite recursion encountered' "$@"

# Check _module.check.
set -- config.enable ./declare-enable.nix ./define-enable.nix ./define-loaOfSub-foo.nix
set -- config.enable ./declare-enable.nix ./define-enable.nix ./define-attrsOfSub-foo.nix
checkConfigError 'The option .* defined in .* does not exist.' "$@"
checkConfigOutput "true" "$@" ./define-module-check.nix

Expand All @@ -152,12 +152,6 @@ checkConfigOutput "12" config.value ./declare-coerced-value-unsound.nix
checkConfigError 'The option value .* in .* is not.*8 bit signed integer.* or string convertible to it' config.value ./declare-coerced-value-unsound.nix ./define-value-string-bigint.nix
checkConfigError 'unrecognised JSON value' config.value ./declare-coerced-value-unsound.nix ./define-value-string-arbitrary.nix

# Check loaOf with long list.
checkConfigOutput "1 2 3 4 5 6 7 8 9 10" config.result ./loaOf-with-long-list.nix

# Check loaOf with many merges of lists.
checkConfigOutput "1 2 3 4 5 6 7 8 9 10" config.result ./loaOf-with-many-list-merges.nix

# Check mkAliasOptionModule.
checkConfigOutput "true" config.enable ./alias-with-priority.nix
checkConfigOutput "true" config.enableAlias ./alias-with-priority.nix
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@ in

{
options = {
loaOfSub = lib.mkOption {
attrsOfSub = lib.mkOption {
default = {};
example = {};
type = lib.types.loaOf (lib.types.submodule [ submod ]);
type = lib.types.attrsOf (lib.types.submodule [ submod ]);
description = ''
Some descriptive text
'';
Expand Down
3 changes: 3 additions & 0 deletions lib/tests/modules/define-attrsOfSub-bar-enable.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
attrsOfSub.bar.enable = true;
}
3 changes: 3 additions & 0 deletions lib/tests/modules/define-attrsOfSub-bar.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
attrsOfSub.bar = {};
}
5 changes: 5 additions & 0 deletions lib/tests/modules/define-attrsOfSub-foo-enable-force.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{ lib, ... }:

{
attrsOfSub.foo.enable = lib.mkForce false;
}
5 changes: 5 additions & 0 deletions lib/tests/modules/define-attrsOfSub-foo-enable-if.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{ config, lib, ... }:

{
attrsOfSub.foo.enable = lib.mkIf config.enable true;
}
3 changes: 3 additions & 0 deletions lib/tests/modules/define-attrsOfSub-foo-enable.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
attrsOfSub.foo.enable = true;
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{ lib, ... }:

{
loaOfSub.foo = lib.mkForce {
attrsOfSub.foo = lib.mkForce {
enable = false;
};
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{ config, lib, ... }:

{
loaOfSub.foo = lib.mkIf config.enable {
attrsOfSub.foo = lib.mkIf config.enable {
enable = true;
};
}
3 changes: 3 additions & 0 deletions lib/tests/modules/define-attrsOfSub-foo.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
attrsOfSub.foo = {};
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{ lib, ... }:

{
loaOfSub = lib.mkForce {
attrsOfSub = lib.mkForce {
foo.enable = false;
};
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{ config, lib, ... }:

{
loaOfSub = lib.mkIf config.enable {
attrsOfSub = lib.mkIf config.enable {
foo.enable = true;
};
}
5 changes: 5 additions & 0 deletions lib/tests/modules/define-force-attrsOfSub-foo-enable.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{ lib, ... }:

lib.mkForce {
attrsOfSub.foo.enable = false;
}
5 changes: 0 additions & 5 deletions lib/tests/modules/define-force-loaOfSub-foo-enable.nix

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{ config, lib, ... }:

lib.mkIf config.enable {
loaOfSub.foo.enable = true;
attrsOfSub.foo.enable = true;
}
3 changes: 0 additions & 3 deletions lib/tests/modules/define-loaOfSub-bar-enable.nix

This file was deleted.

3 changes: 0 additions & 3 deletions lib/tests/modules/define-loaOfSub-bar.nix

This file was deleted.

5 changes: 0 additions & 5 deletions lib/tests/modules/define-loaOfSub-foo-enable-force.nix

This file was deleted.

5 changes: 0 additions & 5 deletions lib/tests/modules/define-loaOfSub-foo-enable-if.nix

This file was deleted.

3 changes: 0 additions & 3 deletions lib/tests/modules/define-loaOfSub-foo-enable.nix

This file was deleted.

3 changes: 0 additions & 3 deletions lib/tests/modules/define-loaOfSub-foo.nix

This file was deleted.

19 changes: 0 additions & 19 deletions lib/tests/modules/loaOf-with-long-list.nix

This file was deleted.

19 changes: 0 additions & 19 deletions lib/tests/modules/loaOf-with-many-list-merges.nix

This file was deleted.

0 comments on commit cde4649

Please sign in to comment.