gtk/tests/meson.build
Ivan Molodetskikh 53f3b4b9d9 tests: Add testdatatable
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.
2022-06-28 21:52:49 -07:00

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