Commit 697c5471 authored by Jan Tojnar's avatar Jan Tojnar
Browse files

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.
parent b34b339d
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
@@ -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: