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 close_win():
def try_close(_): def try_close(_):
machine.execute( status, _ = machine.execute(
ru( ru(
"${xdo "close-window" '' "${xdo "close-window" ''
search --onlyvisible --name "new tab" search --onlyvisible --name "new tab"
@ -89,6 +89,7 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
''}" ''}"
) )
) )
if status == 0:
machine.execute( machine.execute(
ru( ru(
"${xdo "close-window" '' "${xdo "close-window" ''