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
81
nixos/tests/uwsgi.nix
Normal file
81
nixos/tests/uwsgi.nix
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
import ./make-test-python.nix ({ pkgs, ... }:
|
||||
{
|
||||
name = "uwsgi";
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [ lnl7 ];
|
||||
};
|
||||
|
||||
nodes.machine = { pkgs, ... }: {
|
||||
users.users.hello =
|
||||
{ isSystemUser = true;
|
||||
group = "hello";
|
||||
};
|
||||
users.groups.hello = { };
|
||||
|
||||
services.uwsgi = {
|
||||
enable = true;
|
||||
plugins = [ "python3" "php" ];
|
||||
capabilities = [ "CAP_NET_BIND_SERVICE" ];
|
||||
instance.type = "emperor";
|
||||
|
||||
instance.vassals.hello = {
|
||||
type = "normal";
|
||||
immediate-uid = "hello";
|
||||
immediate-gid = "hello";
|
||||
module = "wsgi:application";
|
||||
http = ":80";
|
||||
cap = "net_bind_service";
|
||||
pythonPackages = self: [ self.flask ];
|
||||
chdir = pkgs.writeTextDir "wsgi.py" ''
|
||||
from flask import Flask
|
||||
import subprocess
|
||||
application = Flask(__name__)
|
||||
|
||||
@application.route("/")
|
||||
def hello():
|
||||
return "Hello, World!"
|
||||
|
||||
@application.route("/whoami")
|
||||
def whoami():
|
||||
whoami = "${pkgs.coreutils}/bin/whoami"
|
||||
proc = subprocess.run(whoami, capture_output=True)
|
||||
return proc.stdout.decode().strip()
|
||||
'';
|
||||
};
|
||||
|
||||
instance.vassals.php = {
|
||||
type = "normal";
|
||||
master = true;
|
||||
workers = 2;
|
||||
http-socket = ":8000";
|
||||
http-socket-modifier1 = 14;
|
||||
php-index = "index.php";
|
||||
php-docroot = pkgs.writeTextDir "index.php" ''
|
||||
<?php echo "Hello World\n"; ?>
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript =
|
||||
''
|
||||
machine.wait_for_unit("multi-user.target")
|
||||
machine.wait_for_unit("uwsgi.service")
|
||||
|
||||
with subtest("uWSGI has started"):
|
||||
machine.wait_for_unit("uwsgi.service")
|
||||
|
||||
with subtest("Vassal can bind on port <1024"):
|
||||
machine.wait_for_open_port(80)
|
||||
hello = machine.succeed("curl -f http://machine").strip()
|
||||
assert "Hello, World!" in hello, f"Excepted 'Hello, World!', got '{hello}'"
|
||||
|
||||
with subtest("Vassal is running as dedicated user"):
|
||||
username = machine.succeed("curl -f http://machine/whoami").strip()
|
||||
assert username == "hello", f"Excepted 'hello', got '{username}'"
|
||||
|
||||
with subtest("PHP plugin is working"):
|
||||
machine.wait_for_open_port(8000)
|
||||
assert "Hello World" in machine.succeed("curl -fv http://machine:8000")
|
||||
'';
|
||||
})
|
||||
Loading…
Add table
Add a link
Reference in a new issue