set PATH for test executables in the library.sh
parent
d9c0821e76
commit
f0df0830a2
85
flake.nix
85
flake.nix
|
@ -17,66 +17,69 @@
|
||||||
{
|
{
|
||||||
nativeBuildInputs = [ pkgs.makeWrapper ];
|
nativeBuildInputs = [ pkgs.makeWrapper ];
|
||||||
} ''
|
} ''
|
||||||
ls -l
|
install -m755 ${script} -D $out/bin/${name}
|
||||||
install -m755 ${script} \
|
|
||||||
-D $out/bin/${name}
|
|
||||||
patchShebangs $out/bin/${name}
|
patchShebangs $out/bin/${name}
|
||||||
wrapProgram $out/bin/${name} \
|
wrapProgram $out/bin/${name} \
|
||||||
${lib.strings.concatMapStringsSep "\n"
|
${lib.strings.concatMapStringsSep "\n"
|
||||||
({name, value}: "--prefix ${name} : ${value}") env-vars} \
|
({name, value}: ''--set ${name} "${value}"'') env-vars} \
|
||||||
--prefix PATH : ${with pkgs; lib.makeBinPath [
|
--prefix PATH : ${with pkgs; lib.makeBinPath [
|
||||||
curl
|
curl
|
||||||
diffutils
|
diffutils
|
||||||
|
gnutar
|
||||||
gzip
|
gzip
|
||||||
jd-diff-patch
|
jd-diff-patch
|
||||||
jq
|
jq
|
||||||
openssh
|
openssh
|
||||||
gnutar
|
|
||||||
]}
|
]}
|
||||||
'';
|
'';
|
||||||
|
scripts-with-envs = [
|
||||||
|
{
|
||||||
|
name = "query-minimum-services";
|
||||||
|
script = ./query-services-state.sh;
|
||||||
|
env-vars = [{
|
||||||
|
name = "EXPECTED_RESPONSE_FILE";
|
||||||
|
value = ./minimal-services-expected-response.json;
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "query-all-services";
|
||||||
|
script = ./query-services-state.sh;
|
||||||
|
env-vars = [{
|
||||||
|
name = "EXPECTED_RESPONSE_FILE";
|
||||||
|
value = ./all-services-expected-response.json;
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "enable-service";
|
||||||
|
script = ./enable-service.sh;
|
||||||
|
env-vars = [ ];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "nixos-rebuild";
|
||||||
|
script = ./nixos-rebuild.sh;
|
||||||
|
env-vars = [ ];
|
||||||
|
}
|
||||||
|
];
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
packages.${system} = lib.attrsets.listToAttrs
|
packages.${system} = lib.attrsets.listToAttrs
|
||||||
(
|
(map
|
||||||
(map
|
(a@{ name, ... }: lib.attrsets.nameValuePair name (makeTestProgram a))
|
||||||
(a@{ name, ... }: lib.attrsets.nameValuePair name (makeTestProgram a))
|
scripts-with-envs
|
||||||
|
)
|
||||||
|
//
|
||||||
|
{
|
||||||
|
library = pkgs.writeText "library.sh" (
|
||||||
|
(builtins.readFile ./library.sh) + (lib.strings.concatStrings
|
||||||
[
|
[
|
||||||
{
|
"export PATH="
|
||||||
name = "query-minimum-services";
|
(lib.makeBinPath
|
||||||
script = ./query-services-state.sh;
|
(map (x: self.packages.${system}.${x.name}) scripts-with-envs))
|
||||||
env-vars = [{
|
":$PATH"
|
||||||
name = "EXPECTED_RESPONSE_FILE";
|
|
||||||
value = ./minimal-services-expected-response.json;
|
|
||||||
}];
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "query-all-services";
|
|
||||||
script = ./query-services-state.sh;
|
|
||||||
env-vars = [{
|
|
||||||
name = "EXPECTED_RESPONSE_FILE";
|
|
||||||
value = ./all-services-expected-response.json;
|
|
||||||
}];
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "enable-service";
|
|
||||||
script = ./enable-service.sh;
|
|
||||||
env-vars = [ ];
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "nixos-rebuild";
|
|
||||||
script = ./nixos-rebuild.sh;
|
|
||||||
env-vars = [ ];
|
|
||||||
}
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
++ [
|
|
||||||
{
|
|
||||||
name = "library";
|
|
||||||
value =
|
|
||||||
builtins.filterSource (p: _t: baseNameOf p == "library.sh") ./.;
|
|
||||||
}
|
|
||||||
]
|
|
||||||
);
|
);
|
||||||
|
};
|
||||||
devShells.${system}.default = pkgs.mkShell
|
devShells.${system}.default = pkgs.mkShell
|
||||||
{
|
{
|
||||||
packages = with pkgs;
|
packages = with pkgs;
|
||||||
|
|
Loading…
Reference in New Issue