d1a4f95def
I used solenv/gbuild/Trace.mk to measure where the time is spent at the end of an incremental 'make check'. The last 95 seconds in spent executing UITest_demo_ui alone. If that test is executed in isolation, it takes 135 seconds. Profiling the test shows that some of that time is spent on waiting for an OnViewClosed event to be emitted after .uno:CloseDoc is dispatched. I'm not sure how this worked in the past, but seems that in case there is a single view, then we currently only emit OnUnloaded, which means we wait a minute for an event that does not arrive, then we silently move on. Fix the problem by closing the document via dispose(), the old code also just discarded all changes to the file. The new cost of UITest_demo_ui is 73 seconds (54% of baseline). The overall 'make check' is 84 seconds faster with this, too. Change-Id: I97e8e2af3ba355b8029920076e070d619b110b77 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89984 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins |
||
---|---|---|
.. | ||
calc_tests | ||
demo_ui | ||
impress_tests | ||
libreoffice | ||
manual_tests | ||
math_tests | ||
packaging | ||
ui_logger_dsl | ||
uitest | ||
writer_tests/data | ||
writer_tests1 | ||
writer_tests2 | ||
writer_tests3 | ||
writer_tests4 | ||
writer_tests5 | ||
writer_tests6 | ||
writer_tests7 | ||
writer_tests8 | ||
__init__.py | ||
loginterpreter.py | ||
Makefile | ||
Module_uitest.mk | ||
README | ||
test_main.py | ||
UITest_calc_demo.mk | ||
UITest_demo_ui.mk | ||
UITest_impress_demo.mk | ||
UITest_manual_tests.mk | ||
UITest_math_demo.mk | ||
UITest_writer_demo1.mk | ||
UITest_writer_demo2.mk | ||
UITest_writer_demo3.mk | ||
UITest_writer_demo4.mk | ||
UITest_writer_demo5.mk | ||
UITest_writer_demo6.mk | ||
UITest_writer_demo7.mk | ||
UITest_writer_demo8.mk |
The code for the UI testing framework and the UI tests.