feat(users/picnoir/tvix-daemon) add small VM integration test
Adding a VM integration test setup for tvix-daemon. This test acts as our first milestone: implementing enough daemon operations to be able to add a new store path to tvix-store. The test is expected to fail for now. We don't want to run it on CI yet. Change-Id: I2bd8eb9a07c5de2ef91099e10fcac23c087b880b Reviewed-on: https://cl.tvl.fyi/c/depot/+/11199 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
This commit is contained in:
parent
29b5ffbda0
commit
498beb54da
2 changed files with 33 additions and 0 deletions
5
users/picnoir/tvix-daemon/vm-test/README.md
Normal file
5
users/picnoir/tvix-daemon/vm-test/README.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# Integration VM Test
|
||||||
|
|
||||||
|
This VM test fails for now. We use it to conveniently test our implementation on a real world Nix setup.
|
||||||
|
|
||||||
|
For now, it only adds a new path to the store. It'll likely do more in the future.
|
28
users/picnoir/tvix-daemon/vm-test/default.nix
Normal file
28
users/picnoir/tvix-daemon/vm-test/default.nix
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
{ depot, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
nixosTestDrv = pkgs.nixosTest {
|
||||||
|
name = "tvix-daemon-vm-test";
|
||||||
|
nodes.machine = { config, pkgs, ... }: {
|
||||||
|
environment.systemPackages = [
|
||||||
|
(pkgs.writers.writeBashBin "poke-daemon" ''
|
||||||
|
NIX_REMOTE=unix:///nix/var/nix/daemon-socket/socket nix-instantiate -E '"''${/etc/nscd.conf}"'
|
||||||
|
'')
|
||||||
|
];
|
||||||
|
systemd.services.nix-daemon.serviceConfig.ExecStart = [
|
||||||
|
""
|
||||||
|
"${depot.users.picnoir.tvix-daemon.tvix-daemon}/bin/tvix-daemon"
|
||||||
|
];
|
||||||
|
|
||||||
|
};
|
||||||
|
testScript = ''
|
||||||
|
machine.wait_for_unit("multi-user.target")
|
||||||
|
machine.succeed("poke-daemon")
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
in
|
||||||
|
nixosTestDrv // {
|
||||||
|
# The test fails for now. TOREMOVE when we reach the stage where we
|
||||||
|
# can add stuff to the store.
|
||||||
|
meta.ci.skip = true;
|
||||||
|
}
|
Loading…
Reference in a new issue