From 35fb7572cd0276ec60026e317ac24d37ca65a961 Mon Sep 17 00:00:00 2001 From: Florian Sesser <florian@private.storage> Date: Wed, 25 Aug 2021 15:41:33 +0000 Subject: [PATCH] Fix system tests Write Python with Nix (?). --- nixos/modules/tests/private-storage.nix | 32 +++++++++++++------------ 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/nixos/modules/tests/private-storage.nix b/nixos/modules/tests/private-storage.nix index cca1ad46..59c572fa 100644 --- a/nixos/modules/tests/private-storage.nix +++ b/nixos/modules/tests/private-storage.nix @@ -82,11 +82,7 @@ let let command = builtins.concatStringsSep " " argv; in - " - \$${node}->succeed('set -eo pipefail; ${command} | systemd-cat'); - # succeed() is not success but 1 is. - 1; - "; + "${node}.succeed('set -eo pipefail; ${command} | systemd-cat')"; pspkgs = import ../../../nixpkgs-ps.nix { }; @@ -199,17 +195,17 @@ in { # doesn't prove it is so but if it fails it's a pretty good indication # it isn't so. storage.wait_for_open_port(22) - issuer.succeed("ssh probeuser@storage") - issuer.succeed("ssh root@storage") + ${runOnNode "issuer" (ssh "probeuser" "storage")} + ${runOnNode "issuer" (ssh "root" "storage")} issuer.wait_for_open_port(22) - storage.succeed("ssh probeuser@issuer") - storage.succeed("ssh root@issuer") + ${runOnNode "storage" (ssh "probeuser" "issuer")} + ${runOnNode "storage" (ssh "root" "issuer")} # Set up a Tahoe-LAFS introducer. introducer.copy_from_host('${pemFile}', '/tmp/node.pem') try: - introducer.succeed('run-introducer /tmp/node.pem ${toString introducerPort} ${introducerFURL}') + ${runOnNode "introducer" [ run-introducer "/tmp/node.pem" (toString introducerPort) introducerFURL ]} except: code, log = introducer.execute('cat /tmp/stdout /tmp/stderr') introducer.log(log) @@ -239,7 +235,7 @@ in { # # Storage appears to be working so try to get a client to speak with it. # - client.succeed('run-client /tmp/client ${introducerFURL} ${issuerURL}') + ${runOnNode "client" [ run-client "/tmp/client" introducerFURL issuerURL ]} client.wait_for_open_port(3456) # Make sure the fake Stripe API server is ready for requests. @@ -252,7 +248,13 @@ in { # Get some ZKAPs from the issuer. try: - client.succeed('get-passes http://127.0.0.1:3456 /tmp/client/private/api_auth_token ${issuerURL} ${voucher}') + ${runOnNode "client" [ + get-passes + "http://127.0.0.1:3456" + "/tmp/client/private/api_auth_token" + issuerURL + voucher + ]} except: code, log = client.execute('cat /tmp/stdout /tmp/stderr'); client.log(log) @@ -265,7 +267,7 @@ in { # The client should be prepped now. Make it try to use some storage. try: - client.succeed('exercise-storage /tmp/client') + ${runOnNode "client" [ exercise-storage "/tmp/client" ]} except: code, log = client.execute('cat /tmp/stdout /tmp/stderr') client.log(log) @@ -276,7 +278,7 @@ in { try: furlfile = '/var/db/tahoe-lafs/storage/private/storage-plugin.privatestorageio-zkapauthz-v1.furl' before = storage.execute('cat ' + furlfile) - storage.succeed('systemctl restart tahoe.storage') + ${runOnNode "storage" [ "systemctl" "restart" "tahoe.storage" ]} after = storage.execute('cat ' + furlfile) if (before != after): raise Exception('fURL changes after storage node restart') @@ -287,7 +289,7 @@ in { # The client should actually still work, too. try: - client.succeed('exercise-storage /tmp/client') + ${runOnNode "client" [ exercise-storage "/tmp/client" ]} except: code, log = client.execute('cat /tmp/stdout /tmp/stderr') client.log(log) -- GitLab