tests: Add test running basic perf test
This test runs all of GNOME Shell using the headless backend inside a mocked D-Bus environment. The basic test tests, well, basic things, like the panel menu, the overview, showing the app grid view, as well as going back to the session view. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1349>
This commit is contained in:
parent
4c10608451
commit
bcc4d15fdf
@ -209,6 +209,7 @@ test:
|
|||||||
NO_AT_BRIDGE: "1"
|
NO_AT_BRIDGE: "1"
|
||||||
before_script:
|
before_script:
|
||||||
- meson install -C mutter/build
|
- meson install -C mutter/build
|
||||||
|
- mkdir -m 700 $XDG_RUNTIME_DIR
|
||||||
script:
|
script:
|
||||||
- dbus-run-session -- xvfb-run meson test -C build --no-rebuild
|
- dbus-run-session -- xvfb-run meson test -C build --no-rebuild
|
||||||
artifacts:
|
artifacts:
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
data_builddir = meson.current_build_dir()
|
||||||
|
|
||||||
desktop_files = [
|
desktop_files = [
|
||||||
'org.gnome.Shell.desktop',
|
'org.gnome.Shell.desktop',
|
||||||
'org.gnome.Shell.Extensions.desktop',
|
'org.gnome.Shell.Extensions.desktop',
|
||||||
@ -134,5 +136,5 @@ endif
|
|||||||
custom_target('compile-schemas',
|
custom_target('compile-schemas',
|
||||||
input: schema,
|
input: schema,
|
||||||
output: 'gschemas.compiled',
|
output: 'gschemas.compiled',
|
||||||
command: [find_program('glib-compile-schemas'), meson.current_build_dir()],
|
command: [find_program('glib-compile-schemas'), data_builddir],
|
||||||
build_by_default: true)
|
build_by_default: true)
|
||||||
|
@ -77,7 +77,7 @@ function _getPerfHelper() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function _spawnPerfHelper() {
|
function _spawnPerfHelper() {
|
||||||
let path = Config.LIBEXECDIR;
|
let path = GLib.getenv('GNOME_SHELL_BUILDDIR') || Config.LIBEXECDIR;
|
||||||
let command = `${path}/gnome-shell-perf-helper`;
|
let command = `${path}/gnome-shell-perf-helper`;
|
||||||
Util.trySpawnCommandLine(command);
|
Util.trySpawnCommandLine(command);
|
||||||
}
|
}
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
src_builddir = meson.current_build_dir()
|
||||||
|
|
||||||
service_data = configuration_data()
|
service_data = configuration_data()
|
||||||
service_data.set('libexecdir', libexecdir)
|
service_data.set('libexecdir', libexecdir)
|
||||||
|
|
||||||
@ -16,20 +18,21 @@ script_data.set('pkglibdir', pkglibdir)
|
|||||||
script_data.set('PYTHON', python.full_path())
|
script_data.set('PYTHON', python.full_path())
|
||||||
script_data.set('VERSION', meson.project_version())
|
script_data.set('VERSION', meson.project_version())
|
||||||
|
|
||||||
script_tools = ['gnome-shell-perf-tool']
|
perf_tool = configure_file(
|
||||||
|
input: 'gnome-shell-perf-tool.in',
|
||||||
|
output: 'gnome-shell-perf-tool',
|
||||||
|
configuration: script_data,
|
||||||
|
install_dir: bindir
|
||||||
|
)
|
||||||
|
|
||||||
if get_option('extensions_tool')
|
if get_option('extensions_tool')
|
||||||
script_tools += 'gnome-shell-extension-tool'
|
|
||||||
endif
|
|
||||||
|
|
||||||
foreach tool : script_tools
|
|
||||||
configure_file(
|
configure_file(
|
||||||
input: tool + '.in',
|
input: 'gnome-shell-extension-tool.in',
|
||||||
output: tool,
|
output: 'gnome-shell-extension-tool',
|
||||||
configuration: script_data,
|
configuration: script_data,
|
||||||
install_dir: bindir
|
install_dir: bindir
|
||||||
)
|
)
|
||||||
endforeach
|
endif
|
||||||
|
|
||||||
install_data('gnome-shell-extension-prefs',
|
install_data('gnome-shell-extension-prefs',
|
||||||
install_dir: bindir
|
install_dir: bindir
|
||||||
|
@ -38,3 +38,29 @@ foreach test : tests
|
|||||||
env: testenv,
|
env: testenv,
|
||||||
workdir: meson.current_source_dir())
|
workdir: meson.current_source_dir())
|
||||||
endforeach
|
endforeach
|
||||||
|
|
||||||
|
perf_tests = [
|
||||||
|
'basic',
|
||||||
|
]
|
||||||
|
|
||||||
|
gvc_typelib_path = fs.parent(libgvc.get_variable('libgvc_gir')[1].full_path())
|
||||||
|
libgvc_path = fs.parent(libgvc.get_variable('libgvc').full_path())
|
||||||
|
|
||||||
|
perf_testenv = testenv
|
||||||
|
perf_testenv.set('G_DEBUG', 'fatal-criticals')
|
||||||
|
perf_testenv.set('G_MESSAGES_DEBUG', 'GNOME Shell')
|
||||||
|
perf_testenv.set('GNOME_SHELL_DATADIR', data_builddir)
|
||||||
|
perf_testenv.set('GNOME_SHELL_BUILDDIR', src_builddir)
|
||||||
|
perf_testenv.append('GI_TYPELIB_PATH', gvc_typelib_path, separator: ':')
|
||||||
|
perf_testenv.append('LD_LIBRARY_PATH', libgvc_path, separator: ':')
|
||||||
|
|
||||||
|
foreach perf_test : perf_tests
|
||||||
|
test('perf-' + perf_test, dbus_runner,
|
||||||
|
args: [
|
||||||
|
perf_tool,
|
||||||
|
'--headless',
|
||||||
|
'--perf=@0@'.format(perf_test),
|
||||||
|
],
|
||||||
|
env: perf_testenv,
|
||||||
|
)
|
||||||
|
endforeach
|
||||||
|
Loading…
x
Reference in New Issue
Block a user