Skip to content

Commit

Permalink
tests: fix clipboard test
Browse files Browse the repository at this point in the history
First of all, wait for the zenity process to finish, do not leak it.

But then, adjust the test string to not be a single long line - zenity
often hangs on a single 300k line.

Fixes QubesOS/qubes-issues#9646
  • Loading branch information
marmarek committed Dec 15, 2024
1 parent 98855ca commit c44dce6
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions qubes/tests/integ/basic.py
Original file line number Diff line number Diff line change
Expand Up @@ -619,7 +619,7 @@ async def _test_clipboard(
p = await testvm1.run("cat > /tmp/source.txt", stdin=subprocess.PIPE)
await p.communicate(test_string.encode())
window_title = "user@{}".format(testvm1.name)
await testvm1.run(
p = await testvm1.run(
"zenity --text-info "
"--filename=/tmp/source.txt "
"--editable "
Expand All @@ -639,7 +639,7 @@ async def _test_clipboard(
await asyncio.sleep(5)
subprocess.check_call(["xdotool", "key", "ctrl+shift+c", "Escape"])

await self.wait_for_window_coro(window_title, show=False)
await p.communicate()

clipboard_content = (
open("/var/run/qubes/qubes-clipboard.bin", "r").read().strip()
Expand Down Expand Up @@ -718,14 +718,14 @@ def test_000_clipboard(self):
spawn.find_executable("xdotool"), "xdotool not installed"
)
def test_001_clipboard_64k(self):
test_string = "test123abc" * 6400
test_string = "test123ab\n" * 6400
self.loop.run_until_complete(self._test_clipboard(test_string))

@unittest.skipUnless(
spawn.find_executable("xdotool"), "xdotool not installed"
)
def test_002_clipboard_200k_truncated(self):
test_string = "test123abc" * 20000
test_string = "test123ab\n" * 20000
self.loop.run_until_complete(
self._test_clipboard(
test_string, expect_content="", expect_source_name=""
Expand All @@ -736,7 +736,7 @@ def test_002_clipboard_200k_truncated(self):
spawn.find_executable("xdotool"), "xdotool not installed"
)
def test_002_clipboard_200k(self):
test_string = "test123abc" * 20000
test_string = "test123ab\n" * 20000
self.loop.run_until_complete(
self._test_clipboard(
test_string, set_features={"gui-max-clipboard-size": 200_000}
Expand All @@ -747,7 +747,7 @@ def test_002_clipboard_200k(self):
spawn.find_executable("xdotool"), "xdotool not installed"
)
def test_002_clipboard_300k(self):
test_string = "test123abc" * 30000
test_string = "test123ab\n" * 30000
self.loop.run_until_complete(
self._test_clipboard(
test_string,
Expand Down

0 comments on commit c44dce6

Please sign in to comment.