summaryrefslogtreecommitdiffstats
path: root/nixos
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2020-04-22 04:23:24 +0200
committerGitHub <noreply@github.com>2020-04-22 04:23:24 +0200
commitb231ac2101b1d5289525ff60fdaa442680570740 (patch)
treee5a30e606fea68874d57dbf753e3724108b62254 /nixos
parentd3a41f3c23b5f7b88613f57d6c7f6b86d662df55 (diff)
parent4816b426a057df94f0533d783d3cf6a4c5607aa3 (diff)
Merge pull request #85402 from jtojnar/httpd-php
Diffstat (limited to 'nixos')
-rw-r--r--nixos/modules/services/web-servers/apache-httpd/default.nix3
-rw-r--r--nixos/release-combined.nix1
-rw-r--r--nixos/tests/php/default.nix1
-rw-r--r--nixos/tests/php/fpm.nix10
-rw-r--r--nixos/tests/php/httpd.nix31
-rw-r--r--nixos/tests/php/pcre.nix6
6 files changed, 42 insertions, 10 deletions
diff --git a/nixos/modules/services/web-servers/apache-httpd/default.nix b/nixos/modules/services/web-servers/apache-httpd/default.nix
index 832c8b30ee9d..5e55baa203a0 100644
--- a/nixos/modules/services/web-servers/apache-httpd/default.nix
+++ b/nixos/modules/services/web-servers/apache-httpd/default.nix
@@ -12,7 +12,7 @@ let
httpdConf = cfg.configFile;
- php = cfg.phpPackage.override { apacheHttpd = pkg.dev; /* otherwise it only gets .out */ };
+ php = cfg.phpPackage.override { apacheHttpd = pkg; };
phpMajorVersion = lib.versions.major (lib.getVersion php);
@@ -338,6 +338,7 @@ let
}
''
cat ${php}/etc/php.ini > $out
+ cat ${php}/lib/custom-php.ini > $out
echo "$options" >> $out
'';
diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix
index f4f99e71a90c..2f5dd28e8bb5 100644
--- a/nixos/release-combined.nix
+++ b/nixos/release-combined.nix
@@ -115,6 +115,7 @@ in rec {
(onFullSupported "nixos.tests.openssh")
(onFullSupported "nixos.tests.pantheon")
(onFullSupported "nixos.tests.php.fpm")
+ (onFullSupported "nixos.tests.php.httpd")
(onFullSupported "nixos.tests.php.pcre")
(onFullSupported "nixos.tests.plasma5")
(onFullSupported "nixos.tests.predictable-interface-names.predictableNetworkd")
diff --git a/nixos/tests/php/default.nix b/nixos/tests/php/default.nix
index 9ab14f722d08..ee7a3b56a3ef 100644
--- a/nixos/tests/php/default.nix
+++ b/nixos/tests/php/default.nix
@@ -3,5 +3,6 @@
pkgs ? import ../../.. { inherit system config; }
}: {
fpm = import ./fpm.nix { inherit system pkgs; };
+ httpd = import ./httpd.nix { inherit system pkgs; };
pcre = import ./pcre.nix { inherit system pkgs; };
}
diff --git a/nixos/tests/php/fpm.nix b/nixos/tests/php/fpm.nix
index e93a31834185..1e4ced24b6c3 100644
--- a/nixos/tests/php/fpm.nix
+++ b/nixos/tests/php/fpm.nix
@@ -43,13 +43,11 @@ import ../make-test-python.nix ({pkgs, ...}: {
machine.wait_for_unit("phpfpm-foobar.service")
# Check so we get an evaluated PHP back
- assert "PHP Version ${pkgs.php.version}" in machine.succeed("curl -vvv -s http://127.0.0.1:80/")
+ response = machine.succeed("curl -vvv -s http://127.0.0.1:80/")
+ assert "PHP Version ${pkgs.php.version}" in response, "PHP version not detected"
# Check so we have database and some other extensions loaded
- assert "json" in machine.succeed("curl -vvv -s http://127.0.0.1:80/")
- assert "opcache" in machine.succeed("curl -vvv -s http://127.0.0.1:80/")
- assert "pdo_mysql" in machine.succeed("curl -vvv -s http://127.0.0.1:80/")
- assert "pdo_pgsql" in machine.succeed("curl -vvv -s http://127.0.0.1:80/")
- assert "pdo_sqlite" in machine.succeed("curl -vvv -s http://127.0.0.1:80/")
+ for ext in ["json", "opcache", "pdo_mysql", "pdo_pgsql", "pdo_sqlite"]:
+ assert ext in response, f"Missing {ext} extension"
'';
})
diff --git a/nixos/tests/php/httpd.nix b/nixos/tests/php/httpd.nix
new file mode 100644
index 000000000000..fc3ff986734e
--- /dev/null
+++ b/nixos/tests/php/httpd.nix
@@ -0,0 +1,31 @@
+import ../make-test-python.nix ({pkgs, ...}: {
+ name = "php-httpd-test";
+ meta.maintainers = with pkgs.stdenv.lib.maintainers; [ etu ];
+
+ machine = { config, lib, pkgs, ... }: {
+ services.httpd = {
+ enable = true;
+ adminAddr = "admin@phpfpm";
+ virtualHosts."phpfpm" = let
+ testdir = pkgs.writeTextDir "web/index.php" "<?php phpinfo();";
+ in {
+ documentRoot = "${testdir}/web";
+ locations."/" = {
+ index = "index.php index.html";
+ };
+ };
+ enablePHP = true;
+ };
+ };
+ testScript = { ... }: ''
+ machine.wait_for_unit("httpd.service")
+
+ # Check so we get an evaluated PHP back
+ response = machine.succeed("curl -vvv -s http://127.0.0.1:80/")
+ assert "PHP Version ${pkgs.php.version}" in response, "PHP version not detected"
+
+ # Check so we have database and some other extensions loaded
+ for ext in ["json", "opcache", "pdo_mysql", "pdo_pgsql", "pdo_sqlite"]:
+ assert ext in response, f"Missing {ext} extension"
+ '';
+})
diff --git a/nixos/tests/php/pcre.nix b/nixos/tests/php/pcre.nix
index 56a87778579f..016dca81d522 100644
--- a/nixos/tests/php/pcre.nix
+++ b/nixos/tests/php/pcre.nix
@@ -30,8 +30,8 @@ in import ../make-test-python.nix ({ ...}: {
''
machine.wait_for_unit("httpd.service")
# Ensure php evaluation by matching on the var_dump syntax
- assert 'string(${toString (builtins.stringLength testString)}) "${testString}"' in machine.succeed(
- "curl -vvv -s http://127.0.0.1:80/index.php"
- )
+ response = machine.succeed("curl -vvv -s http://127.0.0.1:80/index.php")
+ expected = 'string(${toString (builtins.stringLength testString)}) "${testString}"'
+ assert expected in response, "Does not appear to be able to use subgroups."
'';
})