mirror of
https://github.com/NotAShelf/air-quality-monitor.git
synced 2025-12-16 17:11:06 +00:00
nixos machine tests
This commit is contained in:
parent
98a817e65a
commit
bc09a7f43f
4 changed files with 165 additions and 0 deletions
56
nix/tests/checks/basic.nix
Normal file
56
nix/tests/checks/basic.nix
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
{
|
||||
nixosTest,
|
||||
self,
|
||||
...
|
||||
}:
|
||||
nixosTest {
|
||||
name = "basic";
|
||||
|
||||
nodes = {
|
||||
client = {pkgs, ...}: {
|
||||
imports = [../profiles/test-setup.nix];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
netcat
|
||||
];
|
||||
};
|
||||
|
||||
server = {pkgs, ...}: {
|
||||
imports = [
|
||||
../profiles/test-setup.nix
|
||||
self.nixosModules.pi-air-quality-monitor
|
||||
];
|
||||
|
||||
users.users.test = {
|
||||
isNormalUser = true;
|
||||
extraGroups = ["wheel"];
|
||||
packages = with pkgs; [
|
||||
tree
|
||||
];
|
||||
};
|
||||
|
||||
services.pi-air-quality-monitor = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
|
||||
settings = {
|
||||
port = 8080;
|
||||
user = "pi-aqm";
|
||||
group = "pi-aqm";
|
||||
};
|
||||
};
|
||||
|
||||
system.stateVersion = "23.11";
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
server.wait_for_unit("default.target")
|
||||
server.succeed("ls -lah /dev/ttyUSB0")
|
||||
server.succeed('systemctl status pi-air-quality-monitor | grep \"Active: active (running)\" || return 0')
|
||||
#server.succeed('nc -vz server 8080')
|
||||
|
||||
#client.wait_for_unit("default.target")
|
||||
#client.succeed("nc -vz server 8080")
|
||||
'';
|
||||
}
|
||||
26
nix/tests/default.nix
Normal file
26
nix/tests/default.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
self,
|
||||
config,
|
||||
inputs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
perSystem = {
|
||||
pkgs,
|
||||
self',
|
||||
...
|
||||
}: let
|
||||
callPackage = lib.callPackageWith (pkgs
|
||||
// {
|
||||
inherit (config.flake) nixosModules;
|
||||
inherit inputs;
|
||||
});
|
||||
in {
|
||||
packages.test = self'.checks.basic.driverInteractive;
|
||||
|
||||
checks = {
|
||||
basic = callPackage ./checks/basic.nix {inherit self;};
|
||||
default = self'.checks.basic;
|
||||
};
|
||||
};
|
||||
}
|
||||
12
nix/tests/profiles/test-setup.nix
Normal file
12
nix/tests/profiles/test-setup.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
virtualisation = {
|
||||
cores = 2;
|
||||
memorySize = 1024;
|
||||
qemu.options = [
|
||||
"-nographic"
|
||||
"-vga none -enable-kvm"
|
||||
"-device virtio-gpu-pci,xres=720,yres=1440"
|
||||
"-serial pty"
|
||||
];
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue