From d272b16e5066464f90273e95d3ce4c1f725a2880 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Fri, 24 Mar 2023 10:22:41 +0100 Subject: [PATCH] tests/perf: Add test for shutdown with open window This would without the applied fix trigger https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6536. Part-of: --- js/js-resources.gresource.xml | 1 + js/perf/closeWithActiveWindows.js | 29 +++++++++++++++++++++++++++++ tests/meson.build | 3 +++ 3 files changed, 33 insertions(+) create mode 100644 js/perf/closeWithActiveWindows.js diff --git a/js/js-resources.gresource.xml b/js/js-resources.gresource.xml index ba481aafa..c6e479150 100644 --- a/js/js-resources.gresource.xml +++ b/js/js-resources.gresource.xml @@ -36,6 +36,7 @@ misc/weather.js perf/basic.js + perf/closeWithActiveWindows.js perf/core.js perf/headlessStart.js perf/hwtest.js diff --git a/js/perf/closeWithActiveWindows.js b/js/perf/closeWithActiveWindows.js new file mode 100644 index 000000000..699b51a89 --- /dev/null +++ b/js/perf/closeWithActiveWindows.js @@ -0,0 +1,29 @@ +// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- +/* exported run */ +/* eslint camelcase: ["error", { properties: "never", allow: ["^script_", "^malloc", "^glx", "^clutter"] }] */ + +const Main = imports.ui.main; +const Scripting = imports.ui.scripting; + +/** Run test. */ +async function run() { + /* eslint-disable no-await-in-loop */ + + /* Make created windows remain visible during exit. */ + Scripting.disableHelperAutoExit(); + + Main.overview.hide(); + await Scripting.waitLeisure(); + await Scripting.sleep(1000); + + await Scripting.createTestWindow({ + width: 640, + height: 480, + }); + + await Scripting.waitTestWindows(); + await Scripting.waitLeisure(); + await Scripting.sleep(1000); + + /* eslint-enable no-await-in-loop */ +} diff --git a/tests/meson.build b/tests/meson.build index 088a0ce5d..85339dd14 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -39,6 +39,9 @@ perf_tests = [ { 'name': 'basic', }, + { + 'name': 'closeWithActiveWindows', + }, { 'name': 'headlessStart', 'options': ['--hotplug'],