nixos/nginx: don't hide nginx config errors on nixos-rebuild --switch with reload enabled (#76179)
nixos/nginx: don't hide nginx config errors on nixos-rebuild --switch with reload enabled Closes https://github.com/NixOS/nixpkgs/issues/73455
This commit is contained in:
+19
-1
@@ -7,7 +7,7 @@
|
||||
import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
name = "nginx";
|
||||
meta = with pkgs.stdenv.lib.maintainers; {
|
||||
maintainers = [ mbbx6spp ];
|
||||
maintainers = [ mbbx6spp danbst ];
|
||||
};
|
||||
|
||||
nodes = {
|
||||
@@ -59,6 +59,11 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
{
|
||||
services.nginx.package = pkgs.nginxUnstable;
|
||||
}
|
||||
|
||||
{
|
||||
services.nginx.package = pkgs.nginxUnstable;
|
||||
services.nginx.virtualHosts."!@$$(#*%".locations."~@#*$*!)".proxyPass = ";;;";
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
@@ -68,6 +73,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
etagSystem = "${nodes.webserver.config.system.build.toplevel}/fine-tune/child-1";
|
||||
justReloadSystem = "${nodes.webserver.config.system.build.toplevel}/fine-tune/child-2";
|
||||
reloadRestartSystem = "${nodes.webserver.config.system.build.toplevel}/fine-tune/child-3";
|
||||
reloadWithErrorsSystem = "${nodes.webserver.config.system.build.toplevel}/fine-tune/child-4";
|
||||
in ''
|
||||
url = "http://localhost/index.html"
|
||||
|
||||
@@ -110,5 +116,17 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
)
|
||||
webserver.wait_for_unit("nginx")
|
||||
webserver.succeed("journalctl -u nginx | grep -q -i stopped")
|
||||
|
||||
with subtest("nixos-rebuild --switch should fail when there are configuration errors"):
|
||||
webserver.fail(
|
||||
"${reloadWithErrorsSystem}/bin/switch-to-configuration test >&2"
|
||||
)
|
||||
webserver.succeed("[[ $(systemctl is-failed nginx-config-reload) == failed ]]")
|
||||
webserver.succeed("[[ $(systemctl is-failed nginx) == active ]]")
|
||||
# just to make sure operation is idempotent. During development I had a situation
|
||||
# when first time it shows error, but stops showing it on subsequent rebuilds
|
||||
webserver.fail(
|
||||
"${reloadWithErrorsSystem}/bin/switch-to-configuration test >&2"
|
||||
)
|
||||
'';
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user