nixos/tests/chromium: Fix a race condition

Only execute Ctrl+w to close the currently active window if the
new/secondary window (title: "New Tab") could be selected. This fixes a
test failure since the update to Chromium M88 (cc PR #110010).
Without this additional check the main window (title: "startup done")
could still be selected (and thus will be closed) and the script would
close both windows (i.e. terminate Chromium completely).
This commit is contained in:
Michael Weiss 2021-01-20 16:42:40 +01:00
parent 3df16a48bf
commit 8a7a8442c1
No known key found for this signature in database
GPG key ID: 5BE487C4D4771D83

View file

@ -80,7 +80,7 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
def close_win():
def try_close(_):
machine.execute(
status, _ = machine.execute(
ru(
"${xdo "close-window" ''
search --onlyvisible --name "new tab"
@ -89,13 +89,14 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
''}"
)
)
machine.execute(
ru(
"${xdo "close-window" ''
key Ctrl+w
''}"
if status == 0:
machine.execute(
ru(
"${xdo "close-window" ''
key Ctrl+w
''}"
)
)
)
for _ in range(1, 20):
status, out = machine.execute(
ru(