integration-tests: Start migration to modular test framework

Still need to migrate most logic in tools.nix to modules.
This commit is contained in:
Zhaofeng Li 2022-12-01 01:57:56 -07:00
parent 92f0f155d4
commit 8b87f0de02
8 changed files with 280 additions and 190 deletions

View file

@ -5,25 +5,27 @@ let
in tools.makeTest {
name = "colmena-parallel";
bundle = ./.;
colmena.test = {
bundle = ./.;
testScript = ''
deployer.succeed("cd /tmp/bundle &&" \
"${tools.colmenaExec} apply push --eval-node-limit 4 --on @target")
testScript = ''
deployer.succeed("cd /tmp/bundle &&" \
"${tools.colmenaExec} apply push --eval-node-limit 4 --on @target")
logs = deployer.succeed("cd /tmp/bundle &&" \
"run-copy-stderr ${tools.colmenaExec} apply switch --eval-node-limit 4 --parallel 4 --on @target")
logs = deployer.succeed("cd /tmp/bundle &&" \
"run-copy-stderr ${tools.colmenaExec} apply switch --eval-node-limit 4 --parallel 4 --on @target")
for node in [alpha, beta, gamma]:
node.succeed("grep SUCCESS /etc/deployment")
for node in [alpha, beta, gamma]:
node.succeed("grep SUCCESS /etc/deployment")
with subtest("Check that activation is correctly parallelized"):
timestamps = list(map(lambda l: int(l.strip().split("---")[1]) / 1000000,
filter(lambda l: "Activation triggered" in l, logs.split("\n"))))
with subtest("Check that activation is correctly parallelized"):
timestamps = list(map(lambda l: int(l.strip().split("---")[1]) / 1000000,
filter(lambda l: "Activation triggered" in l, logs.split("\n"))))
delay = max(timestamps) - min(timestamps)
deployer.log(f"Time between activations: {delay}ms")
delay = max(timestamps) - min(timestamps)
deployer.log(f"Time between activations: {delay}ms")
assert delay < 2000
'';
assert delay < 2000
'';
};
}