forked from AuroraMiddleware/gtk
53f3b4b9d9
Add a GtkColumnView scrolling performance test similar to the one used previously in https://gitlab.gnome.org/GNOME/gtk/-/issues/3334. The test creates a table with 20 columns and 10,000 rows and scrolls it to a random position every frame, while measuring the frame times. There is a commandline flag to pick the cell widget between none (for benchmarking raw column view scrolling) and various label types. There is also a commandline switch to disable automatic scrolling in case a manual assessment is desired. Finally, there's an argument for controlling the number of columns.
152 lines
3.5 KiB
Meson
152 lines
3.5 KiB
Meson
gtk_tests = [
|
|
# testname, optional extra sources
|
|
['input'],
|
|
['testpopup'],
|
|
['testupload'],
|
|
['testtransform'],
|
|
['testdropdown'],
|
|
['rendernode'],
|
|
['rendernode-create-tests'],
|
|
['overlayscroll'],
|
|
['syncscroll'],
|
|
['animated-resizing', ['frame-stats.c', 'variable.c']],
|
|
['animated-revealing', ['frame-stats.c', 'variable.c']],
|
|
['motion-compression'],
|
|
['scrolling-performance', ['frame-stats.c', 'variable.c']],
|
|
['blur-performance', ['../gsk/gskcairoblur.c']],
|
|
['simple'],
|
|
['video-timer', ['variable.c']],
|
|
['testaccel'],
|
|
['testadjustsize'],
|
|
['testappchooser'],
|
|
['testappchooserbutton'],
|
|
['testassistant'],
|
|
['testbaseline'],
|
|
['testcalendar'],
|
|
['testclipboard2'],
|
|
['testcombo'],
|
|
['testcolumnview'],
|
|
['testcombochange'],
|
|
['testcellrenderertext'],
|
|
['testdialog'],
|
|
['testdnd'],
|
|
['testdnd2'],
|
|
['testellipsise'],
|
|
['testentrycompletion'],
|
|
['testentryicons'],
|
|
['testfilechooser'],
|
|
['testflowbox'],
|
|
['testfontoptions'],
|
|
['testframe'],
|
|
['testfullscreen'],
|
|
['testglarea'],
|
|
['testglblending', ['gtkgears.c']],
|
|
['testgrid'],
|
|
['testgtk'],
|
|
['testheaderbar'],
|
|
['testheightforwidth'],
|
|
['testhover'],
|
|
['testiconview'],
|
|
['testiconview-keynav'],
|
|
['testinfobar'],
|
|
['testkineticscrolling'],
|
|
['testlist'],
|
|
['testlist2'],
|
|
['testlist3'],
|
|
['testlist4'],
|
|
['testlistdnd'],
|
|
['testlistview'],
|
|
['testlistview-animating'],
|
|
['testlevelbar'],
|
|
['testlockbutton'],
|
|
['testmenubutton'],
|
|
['testmountoperation'],
|
|
['testnotebookdnd'],
|
|
['testnouiprint'],
|
|
['testoverlay'],
|
|
['testoverlaystyleclass'],
|
|
['testprint', ['testprintfileoperation.c']],
|
|
['testscale'],
|
|
['testselectionmode'],
|
|
['testsounds'],
|
|
['testspinbutton'],
|
|
['testtreechanging'],
|
|
['testtreednd'],
|
|
['testtreeedit'],
|
|
['testtreemodel'],
|
|
['testtreeview'],
|
|
['testtreefocus'],
|
|
['testtreeflow'],
|
|
['testtreecolumns'],
|
|
['testtreecolumnsizing'],
|
|
['testtreesort'],
|
|
['testverticalcells'],
|
|
['treestoretest'],
|
|
['testgrouping'],
|
|
['testtooltips'],
|
|
['testexpand'],
|
|
['testvolumebutton'],
|
|
['testscrolledwindow'],
|
|
['testscrolledge'],
|
|
['testscrolltofocus'],
|
|
['testcellarea'],
|
|
['testswitch'],
|
|
['testtreepos'],
|
|
['testsensitive'],
|
|
['testtextscroll'],
|
|
['testtextview'],
|
|
['testtextview2'],
|
|
['testgmenu'],
|
|
['testlogout'],
|
|
['teststack'],
|
|
['testrevealer'],
|
|
['testrevealer2'],
|
|
['testwindowsize'],
|
|
['testpopover'],
|
|
['listmodel'],
|
|
['testgaction'],
|
|
['testwidgetfocus'],
|
|
['testwidgettransforms'],
|
|
['testcenterbox'],
|
|
['testgridbaseline'],
|
|
['showrendernode'],
|
|
['testborderdrawing'],
|
|
['testoutsetshadowdrawing'],
|
|
['testblur'],
|
|
['testtexture'],
|
|
['testwindowdrag'],
|
|
['testinhibitshortcuts'],
|
|
['testzoom'],
|
|
['testdatatable', ['frame-stats.c', 'variable.c']]
|
|
]
|
|
|
|
if os_unix
|
|
gtk_tests += [['testfontchooserdialog']]
|
|
endif
|
|
|
|
if x11_enabled
|
|
gtk_tests += [['testerrors']]
|
|
endif
|
|
|
|
# Pass the source dir here so programs can change into the source directory
|
|
# and find .ui files and .png files and such that they load at runtime
|
|
test_args = ['-DGTK_SRCDIR="@0@"'.format(meson.current_source_dir())]
|
|
|
|
foreach t: gtk_tests
|
|
test_name = t.get(0)
|
|
test_srcs = ['@0@.c'.format(test_name), t.get(1, [])]
|
|
executable(test_name,
|
|
sources: test_srcs,
|
|
include_directories: [confinc, gdkinc],
|
|
c_args: test_args + common_cflags,
|
|
dependencies: [libgtk_dep, libm],
|
|
)
|
|
endforeach
|
|
|
|
if libsysprof_dep.found()
|
|
executable('testperf',
|
|
sources: 'testperf.c',
|
|
dependencies: [libsysprof_dep, platform_gio_dep, libm],
|
|
)
|
|
endif
|