mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-21 00:25:42 +02:00
tests/modules/performance/combine-plugins: improve assertion messages
This commit eliminates assertions boilerplate and improves assertion message by returning the number of plugins and their names.
This commit is contained in:
parent
f28d384ab5
commit
6415ae4a97
1 changed files with 31 additions and 49 deletions
|
@ -2,10 +2,24 @@
|
||||||
let
|
let
|
||||||
inherit (pkgs) lib;
|
inherit (pkgs) lib;
|
||||||
|
|
||||||
# Count plugins of given type excluding 'build.extraFiles'
|
# Assertion for a number of plugins of given type defined in nvimPackage.packpathDirs
|
||||||
pluginCount =
|
expectNPlugins =
|
||||||
pkg: files: type:
|
config: type: n:
|
||||||
builtins.length (builtins.filter (p: p != files) pkg.packpathDirs.myNeovimPackages.${type});
|
let
|
||||||
|
# 'build.extraFiles' must not be combined, so exclude it from counting
|
||||||
|
plugins = builtins.filter (
|
||||||
|
p: p != config.build.extraFiles
|
||||||
|
) config.build.nvimPackage.packpathDirs.myNeovimPackages.${type};
|
||||||
|
numPlugins = builtins.length plugins;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
assertion = numPlugins == n;
|
||||||
|
message = "Expected ${toString n} '${type}' plugins defined in 'nvimPackage.packpathDirs', got ${toString numPlugins}: ${
|
||||||
|
lib.concatMapStringsSep ", " lib.getName plugins
|
||||||
|
}.";
|
||||||
|
};
|
||||||
|
# Assertion that exactly one start plugin is defined in nvimPackage.packpathDirs
|
||||||
|
expectOneStartPlugin = config: expectNPlugins config "start" 1;
|
||||||
|
|
||||||
# Stub plugins
|
# Stub plugins
|
||||||
mkPlugin =
|
mkPlugin =
|
||||||
|
@ -111,10 +125,7 @@ in
|
||||||
assert(vim.fn.getcompletion("${name}", "help")[1], "no help tags for '${name}'")
|
assert(vim.fn.getcompletion("${name}", "help")[1], "no help tags for '${name}'")
|
||||||
'') (map lib.getName extraPlugins);
|
'') (map lib.getName extraPlugins);
|
||||||
assertions = [
|
assertions = [
|
||||||
{
|
(expectOneStartPlugin config)
|
||||||
assertion = pluginCount config.build.nvimPackage config.build.extraFiles "start" == 1;
|
|
||||||
message = "More than one plugin is defined in packpathDirs, expected one plugin pack.";
|
|
||||||
}
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -141,10 +152,7 @@ in
|
||||||
end), "plugin '${name}' isn't found in runtime as a separate entry, expected not to be combined")
|
end), "plugin '${name}' isn't found in runtime as a separate entry, expected not to be combined")
|
||||||
'') (map lib.getName extraPlugins);
|
'') (map lib.getName extraPlugins);
|
||||||
assertions = [
|
assertions = [
|
||||||
{
|
(expectNPlugins config "start" (builtins.length extraPlugins))
|
||||||
assertion = pluginCount config.build.nvimPackage config.build.extraFiles "start" >= 2;
|
|
||||||
message = "Only one plugin is defined in packpathDirs, expected at least two.";
|
|
||||||
}
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -175,10 +183,7 @@ in
|
||||||
require("simple-plugin-3")
|
require("simple-plugin-3")
|
||||||
'';
|
'';
|
||||||
assertions = [
|
assertions = [
|
||||||
{
|
(expectOneStartPlugin config)
|
||||||
assertion = pluginCount config.build.nvimPackage config.build.extraFiles "start" == 1;
|
|
||||||
message = "More than one plugin is defined in packpathDirs.";
|
|
||||||
}
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -199,10 +204,7 @@ in
|
||||||
)
|
)
|
||||||
'';
|
'';
|
||||||
assertions = [
|
assertions = [
|
||||||
{
|
(expectOneStartPlugin config)
|
||||||
assertion = pluginCount config.build.nvimPackage config.build.extraFiles "start" == 1;
|
|
||||||
message = "More than one plugin is defined in packpathDirs.";
|
|
||||||
}
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -226,10 +228,7 @@ in
|
||||||
vim.cmd.py3("import requests")
|
vim.cmd.py3("import requests")
|
||||||
'';
|
'';
|
||||||
assertions = [
|
assertions = [
|
||||||
{
|
(expectOneStartPlugin config)
|
||||||
assertion = pluginCount config.build.nvimPackage config.build.extraFiles "start" == 1;
|
|
||||||
message = "More than one plugin is defined in packpathDirs.";
|
|
||||||
}
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -255,10 +254,7 @@ in
|
||||||
require("nui.popup")
|
require("nui.popup")
|
||||||
'';
|
'';
|
||||||
assertions = [
|
assertions = [
|
||||||
{
|
(expectOneStartPlugin config)
|
||||||
assertion = pluginCount config.build.nvimPackage config.build.extraFiles "start" == 1;
|
|
||||||
message = "More than one plugin is defined in packpathDirs.";
|
|
||||||
}
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -307,14 +303,9 @@ in
|
||||||
assert(num_plugins == 1, "expected 1 copy of simplePlugin1, got " .. num_plugins)
|
assert(num_plugins == 1, "expected 1 copy of simplePlugin1, got " .. num_plugins)
|
||||||
'';
|
'';
|
||||||
assertions = [
|
assertions = [
|
||||||
{
|
(expectOneStartPlugin config)
|
||||||
assertion = pluginCount config.build.nvimPackage config.build.extraFiles "start" == 1;
|
# simplePlugin3 pluginWithDeps1
|
||||||
message = "More than one start plugin is defined in packpathDirs";
|
(expectNPlugins config "opt" 2)
|
||||||
}
|
|
||||||
{
|
|
||||||
assertion = pluginCount config.build.nvimPackage config.build.extraFiles "opt" == 2;
|
|
||||||
message = "Less than two opt plugins are defined in packpathDirs";
|
|
||||||
}
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -344,10 +335,7 @@ in
|
||||||
assert(vim.g.simple_plugin_3 == 1, "simplePlugin3's config isn't evaluated")
|
assert(vim.g.simple_plugin_3 == 1, "simplePlugin3's config isn't evaluated")
|
||||||
'';
|
'';
|
||||||
assertions = [
|
assertions = [
|
||||||
{
|
(expectOneStartPlugin config)
|
||||||
assertion = pluginCount config.build.nvimPackage config.build.extraFiles "start" == 1;
|
|
||||||
message = "More than one start plugin is defined in packpathDirs";
|
|
||||||
}
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -388,10 +376,7 @@ in
|
||||||
end
|
end
|
||||||
'';
|
'';
|
||||||
assertions = [
|
assertions = [
|
||||||
{
|
(expectOneStartPlugin config)
|
||||||
assertion = pluginCount config.build.nvimPackage config.build.extraFiles "start" == 1;
|
|
||||||
message = "More than one start plugin is defined in packpathDirs";
|
|
||||||
}
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -445,11 +430,8 @@ in
|
||||||
end
|
end
|
||||||
'';
|
'';
|
||||||
assertions = [
|
assertions = [
|
||||||
{
|
# plugin-pack, simplePlugin1, pluginWithDeps2, simplePlugin3
|
||||||
# plugin-pack, simplePlugin1, pluginWithDeps2, simplePlugin3
|
(expectNPlugins config "start" 4)
|
||||||
assertion = pluginCount config.build.nvimPackage config.build.extraFiles "start" == 4;
|
|
||||||
message = "Wrong number of plugins in packpathDirs";
|
|
||||||
}
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue