summaryrefslogtreecommitdiffstats
path: root/tests/baseline
Commit message (Collapse)AuthorAgeFilesLines
* Add QTabBar test in tst_baseline_widgetsAxel Spoerl2022-01-271-0/+56
| | | | | | | Task-number: QTBUG-99772 Pick-to: 6.3 Change-Id: I501c8e5c8e3ee1a1d3ac2a36b12f51dab90c88c3 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Add QScrollBar test in tst_baseline_widgetsAxel Spoerl2022-01-261-0/+69
| | | | | | | Task-number: QTBUG-99882 Pick-to: 6.3 Change-Id: I9e9d3a674c205d26dd008b7de4e4ce31f470bf51 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Add layout in QRadioButton baseline test for better visualizationAxel Spoerl2022-01-241-0/+1
| | | | | | | Task-number: QTBUG-99749 Pick-to: 6.3 Change-Id: Iafd097d42b312cc24a60107c00e9c52fc0f3cdff Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Add QRadioButton test in tst_baseline_widgetsAxel Spoerl2022-01-211-0/+70
| | | | | | | Task-number: QTBUG-99749 Pick-to: 6.3 Change-Id: I89e759e0943b0d1793728a65bfbae6e6b4d3167a Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Baseline: Move the paintcommands code into the shared directoryVolker Hilsheimer2022-01-203-1/+1
| | | | | | | | | It's used by the lancebench and the lance tool, and it will probably be useful for writing some high-dpi related unit and baseline test cases, so move it to the shared folder. Change-Id: I969bab51c9504be13b4c192b4f29f69cd9102868 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Add QCheckBox test in tst_baseline_widgetsAxel Spoerl2022-01-201-0/+57
| | | | | | | Task-number: QTBUG-99748 Pick-to: 6.3 Change-Id: I45fe3b102fba4dd6a6f8cd08bab5543f12265aa7 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Baseline test framework: follow rule of zero for PlatformInfo typeVolker Hilsheimer2022-01-192-29/+1
| | | | | | | | | The compiler generated special functions are just fine. Pick-to: 6.3 6.2 Change-Id: I64fba1fac59f55d2a82ab18e32c1a2b854df72f0 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io> Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
* Baseline test framework: fix bug in internal data structureEirik Aavitsland2022-01-192-23/+2
| | | | | | | | | | | | | | | | | | The 'misc' data field was not copied in the assignment operator. That field is normally not used, so this bug went undiscovered for a long time. But in certain cases, the bug would cause an image size mismatch to be reported as just a normal mismatch. Fix the source of the problem by following the rule of zero - the compiler generated special functions are just fine for this value type. Done-With: Volker Hilsheimer <volker.hilsheimer@qt.io> Pick-to: 6.3 6.2 Change-Id: I8fc8d32d1b83b78cd4ef3f4ec9a8f22661b0e025 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Add QDial test in tst_baseline_widgetsAxel Spoerl2022-01-181-0/+41
| | | | | | | Task-number: QTBUG-99712 Pick-to: 6.3 Change-Id: Ib133dd4c1395060be2aac4d3ca1b17eaccc24676 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* widgets baseline test: add QSpinBoxTimur Pocheptsov2022-01-171-0/+37
| | | | | | | | | Very simplistic initial test, inspired by the fix in 'fusion' style, but not style-specific. Pick-to: 6.3 Change-Id: I55ceca7ad214c86cb11032c5342bdae2a83852f1 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Prevent takeStandardSnapshots() from stopping on first mismatchAxel Spoerl2022-01-172-4/+18
| | | | | | | | | | | Force takeStandardSnapshots() to take and log all snapshots before launching QFAIL. Macros QBASELINE_CHECK_DEFERRED and QBASELINE_CHECK_DEFERRED_SUM have been added in qbaselinetest.h Task-number: QTBUG-99790 Pick-to: 6.3 Change-Id: Ia015de808f354e842ac4029c5c84be18c4a4e209 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Add QProgressBar test in tst_baseline_widgetsAxel Spoerl2022-01-141-0/+39
| | | | | | | Task-number: QTBUG-99678 Pick-to: 6.3 Change-Id: Ib56f7bdcc1e61d0354a7a381b8089f35e80b931c Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Add a couple of utility functions to the baseline test frameworkEirik Aavitsland2022-01-135-3/+19
| | | | | | | | | | | | | | | | | | Adds a function for setting the baseline Project name, which selects the top level server directory and hence config settings. Also adds a function that lets the client override the server config setting for the project image keys (ItemPathKeys). This is the list of properties that will be used to determine which clients are "the same", i.e. which baseline to compare against. Overriding that is handy since it allows experimentation and customization of clients without involving changes in the project config on the baseline server. Pick-to: 6.3 6.2 Change-Id: Id3998356494a9a2cb71c009b43593d3dc1b6963a Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
* Remove faulty #include from widgets baseline testEirik Aavitsland2022-01-041-2/+0
| | | | | | | | | | Since there is an actual qwidgetbaselinetest.h header file, one should not include a .moc file. The build system will take care of it, and currently warns about this #include. Pick-to: 6.3 Change-Id: I4fbff9ef75c901fe3db4df54d6f3ff0d9307edce Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Add baseline test for text renderingVolker Hilsheimer2022-01-045-0/+147
| | | | | | | | | | Data-driven test case that renders the HTML files into an 800x600 image for baseline comparison. Task-number: QTBUG-99148 Pick-to: 6.3 Change-Id: I9ccc0cd21a1e94ff68d23bb82b84e1da46d6335a Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Never handle scrollbars styled with box or border changes as transientVolker Hilsheimer2021-11-293-0/+92
| | | | | | | | | | | | | | | | If scrollbars are styled with a style sheet that includes a box or removes off the native border, then we never treat them as transient or overlapping. Otherwise, the layout logic in QAbstractScrollArea will show them on top of the viewport, overlapping the content. Add case to the style sheet test baseline test. It's a test for scrollbars in a scroll area, rather than a test for the styling of the scrollbars themselves. Fixes: QTBUG-98289 Pick-to: 6.2 Change-Id: Ic53ad248b3eedd54722ac7b2fe5256a27092dbc1 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Share common code for baseline-testing widget UIsVolker Hilsheimer2021-11-267-251/+270
| | | | | | | | | | | Setting up the baseline tests, creating an appearance identifier, and basic image-grabbing functionality doesn't need to be reinvented for each test case that wants to use baseline testing of widget UIs. As a drive-by, remove unneeded Qt 5 meta tags from .pri file. Change-Id: I1562e1b377946305cac018e0f0f0175c2c07cd31 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Fix and complete style sheet support for QToolButtonVolker Hilsheimer2021-11-2613-0/+390
| | | | | | | | | | | | | | | | | | | Amends 2b2e7b2ac50e5b4f6e1888e594f6e32338dd2a80, which rewrote the rendering to remove the conflation of menu arrows and arrow icons, but introduced double rendering of the arrow icons if only the border was styled. Add a baseline test for style sheets, with a test function for QToolButton configured in various ways and styled with different style sheets. The new test case includes a Qt 5 build system so that we can compare Qt 5.15 with Qt 6. Fixes: QTBUG-98286 Pick-to: 6.2 6.2.2 Change-Id: I09cdc829c1a7e7913df4c3768dbe44b6dba4778b Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Update baseline testing frameworkEirik Aavitsland2021-11-245-68/+40
| | | | | | | | | | | | | | | | | | | Merge in various minor changes and fixes that have been done to the branched copy in qtquick3d, and clean out some outdated code. Mostly just coding style fixes and cleanups, but also: - adds -keeprunning command line parameter, intended for tests that by default exits early if it seems the platform is too unstable (e.g. crashing) for a meaningful testrun. - Changes behaviour for fuzzy matches, from SKIP to PASS. The (mis)use of QSKIP was done to force log output; now the output is just printed by qInfo() instead. Pick-to: 6.2 Change-Id: I46e77a94cc5b1980ac420086c2ae88dc9b84ef12 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Add variations of QPushButton with default property setVolker Hilsheimer2021-11-241-0/+6
| | | | | Change-Id: Ie928575b131c7031da9a4d735159ba3d14ccad6c Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Add baseline test that allows comparing the rendering of widgetsVolker Hilsheimer2021-11-183-0/+304
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Provide basic boiler plate that sets up the baseline (aka lancelot) framework specifically for comparing the appearance of widgets, and implement test functions for QSlider and QPushButton. Widgets should always look the same if the QPA platform, the OS version, and certain UI-impacting attributes are identical. Ie. on any macOS 10.15 machine that runs in "Light" mode, widgets look the same. On a macOS 11 machine, they might look different. On an OpenSUSE machine using the fusion style things might look different from a Ubuntu machine. The helper function removes DPR differences - images are always scaled to a DPR of 1.0, which allows us to compare the image\ content and not get distracted by them having different dimensions (and the fuzzy comparison of images might make the system tolerate scaling artefacts). Note: For now, this test is meant to be run locally, either when testing changes to style code, or when checking how QWidget based UIs would look on newer version of an operating system. In CI the test is run, but then skipped in CI as the baseline server is not configured. Change-Id: Ie33a9d979d934f0df6883757333ce2c5e2f7ef84 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Rename and restructure the baseline (lancelot) testing codeEirik Aavitsland2021-11-16119-0/+14113
In preparation for addition of new baseline tests, establish a new test category, "baseline". This is similar to the category "benchmarks" in that it contains tests that use the QTest framework, but conceptually are not unit tests, in contrast to those under auto/. Move the existing QPainter baseline test, tst_lancelot, into this new category, and rename it accordingly. Baseline tests use the QBaselineTest extension to QTest. Move that extension too into the tests/baseline directory, allowing the clean out of the baselineserver directory. Pick-to: 6.2 Change-Id: I1b527f5867c953b1d22be73798fcf7d1494712ea Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>