From 697c54719007482dc750083c988ea5d5f13855d4 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Fri, 9 May 2025 00:11:11 +0200 Subject: [PATCH] nixosTests.gnome-extension: Wait for activation This fixes the following failure: Test "Enable extension 'dash-to-panel@jderose9.github.com'" failed with error: " State: ACTIVATING instead of ACTIVE" I can reproduce it even before the parent commit. --- nixos/tests/gnome-extensions.nix | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/nixos/tests/gnome-extensions.nix b/nixos/tests/gnome-extensions.nix index 9fb868f82454..d6381a899f3b 100644 --- a/nixos/tests/gnome-extensions.nix +++ b/nixos/tests/gnome-extensions.nix @@ -121,11 +121,14 @@ import ./make-test-python.nix ( # "${run "gsettings set org.gnome.shell disable-extension-version-validation true"}" # ) - # Assert that some extension is in a specific state - def checkState(target, extension): - state = machine.succeed( + def getState(extension): + return machine.succeed( f"${run "gnome-extensions info {extension}"} | grep '^ State: .*$'" ) + + # Assert that some extension is in a specific state + def checkState(target, extension): + state = getState(extension) assert target in state, f"{state} instead of {target}" def checkExtension(extension, disable): @@ -143,6 +146,10 @@ import ./make-test-python.nix ( # Enable and optionally disable machine.succeed(f"${run "gnome-extensions enable {extension}"}") + wait_time = 5 + while getState(extension) == "ACTIVATING" and (wait_time := wait_time - 1) > 0: + machine.log(f"Extension {extension} is still activating, waiting {wait_time} more seconds") + machine.sleep(1) checkState("ACTIVE", extension) if disable: