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