tests: rework derivation stubbing
Instead of having to manually stub packages that should not be downloaded we instead automatically stub all packages (except a small list of whitelisted ones). Tests can re-introduce the real package by using the `realPkgs` module argument.
This commit is contained in:
parent
c5c2cbc866
commit
7a3f0b3b8d
480 changed files with 3557 additions and 5511 deletions
|
|
@ -1,58 +1,50 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
{
|
||||
config = {
|
||||
programs.bat = {
|
||||
enable = true;
|
||||
programs.bat = {
|
||||
enable = true;
|
||||
|
||||
config = {
|
||||
theme = "TwoDark";
|
||||
pager = "less -FR";
|
||||
map-syntax = [ "*.jenkinsfile:Groovy" "*.props:Java Properties" ];
|
||||
show-all = true;
|
||||
config = {
|
||||
theme = "TwoDark";
|
||||
pager = "less -FR";
|
||||
map-syntax = [ "*.jenkinsfile:Groovy" "*.props:Java Properties" ];
|
||||
show-all = true;
|
||||
|
||||
# False boolean options should not appear in the config
|
||||
lessopen = false;
|
||||
};
|
||||
|
||||
themes.testtheme.src = pkgs.writeText "testtheme.tmTheme" ''
|
||||
This is a test theme.
|
||||
'';
|
||||
|
||||
syntaxes.testsyntax.src = pkgs.writeText "testsyntax.sublime-syntax" ''
|
||||
This is a test syntax.
|
||||
'';
|
||||
# False boolean options should not appear in the config
|
||||
lessopen = false;
|
||||
};
|
||||
|
||||
test.stubs.bat = { };
|
||||
themes.testtheme.src = builtins.toFile "testtheme.tmTheme" ''
|
||||
This is a test theme.
|
||||
'';
|
||||
|
||||
nmt.script = ''
|
||||
assertFileExists home-files/.config/bat/config
|
||||
assertFileContent home-files/.config/bat/config ${
|
||||
pkgs.writeText "bat.expected" ''
|
||||
--map-syntax='*.jenkinsfile:Groovy'
|
||||
--map-syntax='*.props:Java Properties'
|
||||
--pager='less -FR'
|
||||
--theme=TwoDark
|
||||
--show-all
|
||||
''
|
||||
}
|
||||
|
||||
assertFileExists home-files/.config/bat/themes/testtheme.tmTheme
|
||||
assertFileContent home-files/.config/bat/themes/testtheme.tmTheme ${
|
||||
pkgs.writeText "bat.expected" ''
|
||||
This is a test theme.
|
||||
''
|
||||
}
|
||||
|
||||
assertFileExists home-files/.config/bat/syntaxes/testsyntax.sublime-syntax
|
||||
assertFileContent home-files/.config/bat/syntaxes/testsyntax.sublime-syntax ${
|
||||
pkgs.writeText "bat.expected" ''
|
||||
This is a test syntax.
|
||||
''
|
||||
}
|
||||
syntaxes.testsyntax.src = builtins.toFile "testsyntax.sublime-syntax" ''
|
||||
This is a test syntax.
|
||||
'';
|
||||
};
|
||||
|
||||
nmt.script = ''
|
||||
assertFileExists home-files/.config/bat/config
|
||||
assertFileContent home-files/.config/bat/config ${
|
||||
builtins.toFile "bat.expected" ''
|
||||
--map-syntax='*.jenkinsfile:Groovy'
|
||||
--map-syntax='*.props:Java Properties'
|
||||
--pager='less -FR'
|
||||
--theme=TwoDark
|
||||
--show-all
|
||||
''
|
||||
}
|
||||
|
||||
assertFileExists home-files/.config/bat/themes/testtheme.tmTheme
|
||||
assertFileContent home-files/.config/bat/themes/testtheme.tmTheme ${
|
||||
builtins.toFile "bat.expected" ''
|
||||
This is a test theme.
|
||||
''
|
||||
}
|
||||
|
||||
assertFileExists home-files/.config/bat/syntaxes/testsyntax.sublime-syntax
|
||||
assertFileContent home-files/.config/bat/syntaxes/testsyntax.sublime-syntax ${
|
||||
builtins.toFile "bat.expected" ''
|
||||
This is a test syntax.
|
||||
''
|
||||
}
|
||||
'';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,67 +1,59 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
{
|
||||
config = {
|
||||
programs.bat = {
|
||||
enable = true;
|
||||
programs.bat = {
|
||||
enable = true;
|
||||
|
||||
config = {
|
||||
theme = "TwoDark";
|
||||
pager = "less -FR";
|
||||
map-syntax = [ "*.jenkinsfile:Groovy" "*.props:Java Properties" ];
|
||||
};
|
||||
|
||||
themes.testtheme = ''
|
||||
This is a test theme.
|
||||
'';
|
||||
|
||||
syntaxes.testsyntax = ''
|
||||
This is a test syntax.
|
||||
'';
|
||||
config = {
|
||||
theme = "TwoDark";
|
||||
pager = "less -FR";
|
||||
map-syntax = [ "*.jenkinsfile:Groovy" "*.props:Java Properties" ];
|
||||
};
|
||||
|
||||
test.stubs.bat = { };
|
||||
themes.testtheme = ''
|
||||
This is a test theme.
|
||||
'';
|
||||
|
||||
test.asserts.warnings.enable = true;
|
||||
test.asserts.warnings.expected = [
|
||||
''
|
||||
Using programs.bat.themes as a string option is deprecated and will be
|
||||
removed in the future. Please change to using it as an attribute set
|
||||
instead.
|
||||
''
|
||||
''
|
||||
Using programs.bat.syntaxes as a string option is deprecated and will be
|
||||
removed in the future. Please change to using it as an attribute set
|
||||
instead.
|
||||
''
|
||||
];
|
||||
|
||||
nmt.script = ''
|
||||
assertFileExists home-files/.config/bat/config
|
||||
assertFileContent home-files/.config/bat/config ${
|
||||
pkgs.writeText "bat.expected" ''
|
||||
--map-syntax='*.jenkinsfile:Groovy'
|
||||
--map-syntax='*.props:Java Properties'
|
||||
--pager='less -FR'
|
||||
--theme=TwoDark
|
||||
''
|
||||
}
|
||||
|
||||
assertFileExists home-files/.config/bat/themes/testtheme.tmTheme
|
||||
assertFileContent home-files/.config/bat/themes/testtheme.tmTheme ${
|
||||
pkgs.writeText "bat.expected" ''
|
||||
This is a test theme.
|
||||
''
|
||||
}
|
||||
|
||||
assertFileExists home-files/.config/bat/syntaxes/testsyntax.sublime-syntax
|
||||
assertFileContent home-files/.config/bat/syntaxes/testsyntax.sublime-syntax ${
|
||||
pkgs.writeText "bat.expected" ''
|
||||
This is a test syntax.
|
||||
''
|
||||
}
|
||||
syntaxes.testsyntax = ''
|
||||
This is a test syntax.
|
||||
'';
|
||||
};
|
||||
|
||||
test.asserts.warnings.enable = true;
|
||||
test.asserts.warnings.expected = [
|
||||
''
|
||||
Using programs.bat.themes as a string option is deprecated and will be
|
||||
removed in the future. Please change to using it as an attribute set
|
||||
instead.
|
||||
''
|
||||
''
|
||||
Using programs.bat.syntaxes as a string option is deprecated and will be
|
||||
removed in the future. Please change to using it as an attribute set
|
||||
instead.
|
||||
''
|
||||
];
|
||||
|
||||
nmt.script = ''
|
||||
assertFileExists home-files/.config/bat/config
|
||||
assertFileContent home-files/.config/bat/config ${
|
||||
builtins.toFile "bat.expected" ''
|
||||
--map-syntax='*.jenkinsfile:Groovy'
|
||||
--map-syntax='*.props:Java Properties'
|
||||
--pager='less -FR'
|
||||
--theme=TwoDark
|
||||
''
|
||||
}
|
||||
|
||||
assertFileExists home-files/.config/bat/themes/testtheme.tmTheme
|
||||
assertFileContent home-files/.config/bat/themes/testtheme.tmTheme ${
|
||||
builtins.toFile "bat.expected" ''
|
||||
This is a test theme.
|
||||
''
|
||||
}
|
||||
|
||||
assertFileExists home-files/.config/bat/syntaxes/testsyntax.sublime-syntax
|
||||
assertFileContent home-files/.config/bat/syntaxes/testsyntax.sublime-syntax ${
|
||||
builtins.toFile "bat.expected" ''
|
||||
This is a test syntax.
|
||||
''
|
||||
}
|
||||
'';
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue