tstest/integration/vms: unbreak nixos builds (#2372)

To avoid the generated nixos disk images from becoming immune from the
GC, I delete the symlink to the nix store at the end of tests.
`t.Cleanup` runs at the end of a test. I changed this part of the code
to have a separate timer for how long it takes to run NixOS builds, but
I did that by using a subtest. This means that it was creating the NixOS
image, deleting its symlink and then trying to use that symlink to find
the resulting disk image, making the whole thing ineffectual.

This was a mistake. I am reverting this change made in
https://github.com/tailscale/tailscale/pull/2360 to remove this layer of
subtesting.

Signed-off-by: Christine Dodrill <xe@tailscale.com>
This commit is contained in:
Christine Dodrill 2021-07-09 11:02:19 -04:00 committed by GitHub
parent b90f149f5e
commit 33cacb5284
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 6 deletions

View File

@ -121,7 +121,10 @@ in {
boot.extraModulePackages = [ ];
# Curl is needed for one of the steps in cloud-final
systemd.services.cloud-final.path = [ pkgs.curl ];
systemd.services.cloud-final.path = with pkgs; [ curl ];
# Curl is needed for one of the integration tests
environment.systemPackages = with pkgs; [ curl ];
# yolo, this vm can sudo freely.
security.sudo.wheelNeedsPassword = false;

View File

@ -252,11 +252,7 @@ func (h Harness) fetchDistro(t *testing.T, resultDistro Distro) string {
cdir = filepath.Join(cdir, "tailscale", "vm-test")
if strings.HasPrefix(resultDistro.name, "nixos") {
var imagePath string
t.Run("nix-build", func(t *testing.T) {
imagePath = h.makeNixOSImage(t, resultDistro, cdir)
})
return imagePath
return h.makeNixOSImage(t, resultDistro, cdir)
}
qcowPath := filepath.Join(cdir, "qcow2", resultDistro.sha256sum)