uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
16
nixos/tests/php/default.nix
Normal file
16
nixos/tests/php/default.nix
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{ system ? builtins.currentSystem
|
||||
, config ? { }
|
||||
, pkgs ? import ../../.. { inherit system config; }
|
||||
, php ? pkgs.php
|
||||
}:
|
||||
|
||||
let
|
||||
php' = php.buildEnv {
|
||||
extensions = { enabled, all }: with all; enabled ++ [ apcu ];
|
||||
};
|
||||
in
|
||||
{
|
||||
fpm = import ./fpm.nix { inherit system pkgs; php = php'; };
|
||||
httpd = import ./httpd.nix { inherit system pkgs; php = php'; };
|
||||
pcre = import ./pcre.nix { inherit system pkgs; php = php'; };
|
||||
}
|
||||
59
nixos/tests/php/fpm.nix
Normal file
59
nixos/tests/php/fpm.nix
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
import ../make-test-python.nix ({ pkgs, lib, php, ... }: {
|
||||
name = "php-${php.version}-fpm-nginx-test";
|
||||
meta.maintainers = lib.teams.php.members;
|
||||
|
||||
nodes.machine = { config, lib, pkgs, ... }: {
|
||||
environment.systemPackages = [ php ];
|
||||
|
||||
services.nginx = {
|
||||
enable = true;
|
||||
|
||||
virtualHosts."phpfpm" =
|
||||
let
|
||||
testdir = pkgs.writeTextDir "web/index.php" "<?php phpinfo();";
|
||||
in
|
||||
{
|
||||
root = "${testdir}/web";
|
||||
locations."~ \\.php$".extraConfig = ''
|
||||
fastcgi_pass unix:${config.services.phpfpm.pools.foobar.socket};
|
||||
fastcgi_index index.php;
|
||||
include ${config.services.nginx.package}/conf/fastcgi_params;
|
||||
include ${pkgs.nginx}/conf/fastcgi.conf;
|
||||
'';
|
||||
locations."/" = {
|
||||
tryFiles = "$uri $uri/ index.php";
|
||||
index = "index.php index.html index.htm";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services.phpfpm.pools."foobar" = {
|
||||
user = "nginx";
|
||||
phpPackage = php;
|
||||
settings = {
|
||||
"listen.group" = "nginx";
|
||||
"listen.mode" = "0600";
|
||||
"listen.owner" = "nginx";
|
||||
"pm" = "dynamic";
|
||||
"pm.max_children" = 5;
|
||||
"pm.max_requests" = 500;
|
||||
"pm.max_spare_servers" = 3;
|
||||
"pm.min_spare_servers" = 1;
|
||||
"pm.start_servers" = 2;
|
||||
};
|
||||
};
|
||||
};
|
||||
testScript = { ... }: ''
|
||||
machine.wait_for_unit("nginx.service")
|
||||
machine.wait_for_unit("phpfpm-foobar.service")
|
||||
|
||||
# Check so we get an evaluated PHP back
|
||||
response = machine.succeed("curl -fvvv -s http://127.0.0.1:80/")
|
||||
assert "PHP Version ${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", "apcu"]:
|
||||
assert ext in response, f"Missing {ext} extension"
|
||||
machine.succeed(f'test -n "$(php -m | grep -i {ext})"')
|
||||
'';
|
||||
})
|
||||
34
nixos/tests/php/httpd.nix
Normal file
34
nixos/tests/php/httpd.nix
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
import ../make-test-python.nix ({ pkgs, lib, php, ... }: {
|
||||
name = "php-${php.version}-httpd-test";
|
||||
meta.maintainers = lib.teams.php.members;
|
||||
|
||||
nodes.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";
|
||||
};
|
||||
};
|
||||
phpPackage = php;
|
||||
enablePHP = true;
|
||||
};
|
||||
};
|
||||
testScript = { ... }: ''
|
||||
machine.wait_for_unit("httpd.service")
|
||||
|
||||
# Check so we get an evaluated PHP back
|
||||
response = machine.succeed("curl -fvvv -s http://127.0.0.1:80/")
|
||||
assert "PHP Version ${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"
|
||||
'';
|
||||
})
|
||||
42
nixos/tests/php/pcre.nix
Normal file
42
nixos/tests/php/pcre.nix
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
let
|
||||
testString = "can-use-subgroups";
|
||||
in
|
||||
import ../make-test-python.nix ({ lib, php, ... }: {
|
||||
name = "php-${php.version}-httpd-pcre-jit-test";
|
||||
meta.maintainers = lib.teams.php.members;
|
||||
|
||||
nodes.machine = { lib, pkgs, ... }: {
|
||||
time.timeZone = "UTC";
|
||||
services.httpd = {
|
||||
enable = true;
|
||||
adminAddr = "please@dont.contact";
|
||||
phpPackage = php;
|
||||
enablePHP = true;
|
||||
phpOptions = "pcre.jit = true";
|
||||
extraConfig =
|
||||
let
|
||||
testRoot = pkgs.writeText "index.php"
|
||||
''
|
||||
<?php
|
||||
preg_match('/(${testString})/', '${testString}', $result);
|
||||
var_dump($result);
|
||||
'';
|
||||
in
|
||||
''
|
||||
Alias / ${testRoot}/
|
||||
|
||||
<Directory ${testRoot}>
|
||||
Require all granted
|
||||
</Directory>
|
||||
'';
|
||||
};
|
||||
};
|
||||
testScript = { ... }:
|
||||
''
|
||||
machine.wait_for_unit("httpd.service")
|
||||
# Ensure php evaluation by matching on the var_dump syntax
|
||||
response = machine.succeed("curl -fvvv -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."
|
||||
'';
|
||||
})
|
||||
Loading…
Add table
Add a link
Reference in a new issue