mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-07-13 21:50:33 +03:00
nixos/tests/velocity: init
This commit is contained in:
parent
30f82d2e88
commit
3f29dce6df
2 changed files with 69 additions and 0 deletions
|
@ -1211,6 +1211,7 @@ in {
|
|||
vault-postgresql = handleTest ./vault-postgresql.nix {};
|
||||
vaultwarden = discoverTests (import ./vaultwarden.nix);
|
||||
vector = handleTest ./vector {};
|
||||
velocity = runTest ./velocity.nix;
|
||||
vengi-tools = handleTest ./vengi-tools.nix {};
|
||||
victoriametrics = handleTest ./victoriametrics {};
|
||||
vikunja = handleTest ./vikunja.nix {};
|
||||
|
|
68
nixos/tests/velocity.nix
Normal file
68
nixos/tests/velocity.nix
Normal file
|
@ -0,0 +1,68 @@
|
|||
{ lib, pkgs, ... }:
|
||||
{
|
||||
name = "velocity";
|
||||
meta = {
|
||||
platforms = [
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
];
|
||||
maintainers = [ lib.maintainers.Tert0 ];
|
||||
};
|
||||
|
||||
nodes.server =
|
||||
{ ... }:
|
||||
{
|
||||
imports =
|
||||
let
|
||||
mkVelocityService = name: pkg: {
|
||||
systemd.sockets.${name} = {
|
||||
socketConfig = {
|
||||
ListenFIFO = "/run/${name}.stdin";
|
||||
Service = "${name}";
|
||||
};
|
||||
};
|
||||
systemd.services.${name} = {
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkg}/bin/velocity";
|
||||
DynamicUser = true;
|
||||
StateDirectory = "${name}";
|
||||
WorkingDirectory = "/var/lib/${name}";
|
||||
|
||||
Sockets = "${name}.socket";
|
||||
StandardInput = "socket";
|
||||
StandardOutput = "journal";
|
||||
StandardError = "journal";
|
||||
};
|
||||
};
|
||||
};
|
||||
in
|
||||
[
|
||||
(mkVelocityService "velocity-without-native" (
|
||||
pkgs.velocity.override { withVelocityNative = false; }
|
||||
))
|
||||
(mkVelocityService "velocity-with-native" (pkgs.velocity.override { withVelocityNative = true; }))
|
||||
];
|
||||
|
||||
environment.systemPackages = [ pkgs.mcstatus ];
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
def test_velocity(name: str, native: bool):
|
||||
server.start_job(name)
|
||||
server.wait_for_unit(name);
|
||||
server.wait_for_open_port(25565)
|
||||
server.wait_until_succeeds(f"journalctl -b -u {name} | grep -q 'Booting up Velocity nixpkgs-${pkgs.velocity.version}...'")
|
||||
connections_startup_query = "Connections will use epoll channels, libdeflate (.+) compression, OpenSSL 3.x.x (.+) ciphers" if native else "Connections will use epoll channels, Java compression, Java ciphers"
|
||||
server.wait_until_succeeds(f"journalctl -b -u {name} | grep -q -E '{connections_startup_query}'")
|
||||
server.wait_until_succeeds(f"journalctl -b -u {name} | grep -q 'Done ([0-9]*.[0-9]*s)!'");
|
||||
|
||||
_, status_result = server.execute("mcstatus localhost:25565 status")
|
||||
assert "A Velocity Server" in status_result
|
||||
|
||||
server.execute(f"echo stop > /run/{name}.stdin")
|
||||
server.wait_for_closed_port(25565);
|
||||
|
||||
test_velocity("velocity-without-native", False)
|
||||
test_velocity("velocity-with-native", True)
|
||||
'';
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue