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
71
nixos/tests/molly-brown.nix
Normal file
71
nixos/tests/molly-brown.nix
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
import ./make-test-python.nix ({ pkgs, ... }:
|
||||
|
||||
let testString = "NixOS Gemini test successful";
|
||||
in {
|
||||
|
||||
name = "molly-brown";
|
||||
meta = with pkgs.lib.maintainers; { maintainers = [ ehmry ]; };
|
||||
|
||||
nodes = {
|
||||
|
||||
geminiServer = { config, pkgs, ... }:
|
||||
let
|
||||
inherit (config.networking) hostName;
|
||||
cfg = config.services.molly-brown;
|
||||
in {
|
||||
|
||||
environment.systemPackages = [
|
||||
(pkgs.writeScriptBin "test-gemini" ''
|
||||
#!${pkgs.python3}/bin/python
|
||||
|
||||
import socket
|
||||
import ssl
|
||||
import tempfile
|
||||
import textwrap
|
||||
import urllib.parse
|
||||
|
||||
url = "gemini://geminiServer/init.gmi"
|
||||
parsed_url = urllib.parse.urlparse(url)
|
||||
|
||||
s = socket.create_connection((parsed_url.netloc, 1965))
|
||||
context = ssl.SSLContext()
|
||||
context.check_hostname = False
|
||||
context.verify_mode = ssl.CERT_NONE
|
||||
s = context.wrap_socket(s, server_hostname=parsed_url.netloc)
|
||||
s.sendall((url + "\r\n").encode("UTF-8"))
|
||||
fp = s.makefile("rb")
|
||||
print(fp.readline().strip())
|
||||
print(fp.readline().strip())
|
||||
print(fp.readline().strip())
|
||||
'')
|
||||
];
|
||||
|
||||
networking.firewall.allowedTCPPorts = [ cfg.settings.Port ];
|
||||
|
||||
services.molly-brown = {
|
||||
enable = true;
|
||||
docBase = "/tmp/docs";
|
||||
certPath = "/tmp/cert.pem";
|
||||
keyPath = "/tmp/key.pem";
|
||||
};
|
||||
|
||||
systemd.services.molly-brown.preStart = ''
|
||||
${pkgs.openssl}/bin/openssl genrsa -out "/tmp/key.pem"
|
||||
${pkgs.openssl}/bin/openssl req -new \
|
||||
-subj "/CN=${config.networking.hostName}" \
|
||||
-key "/tmp/key.pem" -out /tmp/request.pem
|
||||
${pkgs.openssl}/bin/openssl x509 -req -days 3650 \
|
||||
-in /tmp/request.pem -signkey "/tmp/key.pem" -out "/tmp/cert.pem"
|
||||
|
||||
mkdir -p "${cfg.settings.DocBase}"
|
||||
echo "${testString}" > "${cfg.settings.DocBase}/test.gmi"
|
||||
'';
|
||||
};
|
||||
};
|
||||
testScript = ''
|
||||
geminiServer.wait_for_unit("molly-brown")
|
||||
geminiServer.wait_for_open_port(1965)
|
||||
geminiServer.succeed("test-gemini")
|
||||
'';
|
||||
|
||||
})
|
||||
Loading…
Add table
Add a link
Reference in a new issue