summaryrefslogtreecommitdiff
path: root/uitest/libreoffice/connection.py
AgeCommit message (Collapse)Author
2020-06-09Print more information about the swallowed exceptionsStephan Bergmann
Change-Id: I126413f9eb5c5698e4500c4fc5e04f31a9c574fd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95895 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-06-08Reliably terminate soffice.bin when terminating sofficeStephan Bergmann
d58a3e5f85d44efc9d21dd56329a3ef20cb3692f "Reliably terminate soffice when connect throws an exception" had been a partial thinko: When kill()'ing (i.e., sending SIGKILL on POSIX) soffice (aka oosplash exec'ed from it), the soffice.bin forked from it can still keep on running. So terminate() (i.e., send SIGTERM on POSIX) soffice aka ooslpash, and in its sigterm_handler actually wait for the soffice.bin process. (Where the latter should just be a saftey measure. At least on POSIX, osl_terminateProcess as called from the oosplash sigterm_handler sends a SIGKILL, so should swiftly and reliably kill the soffice.bin process.) Change-Id: Ifd6930691dce34894e76c417e152111983d62b8c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95779 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-06-05self.socket appears to be unusedStephan Bergmann
...ever since the code appeared here with 29cd5a2f5e14a7f3d95cacb644a69a2df91ea8f8 "uitest: move uitest python part from dev-tools" Change-Id: I0549896691c2e2e1168eea4723abf5b014b56443 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95575 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-06-05Reliably terminate soffice when connect throws an exceptionStephan Bergmann
...in which case setUp has already started self.soffice, but tearDown will never be called. For example, <https://ci.libreoffice.org//job/lo_tb_master_linux_dbg/29836/> had thrown a css.uno.RuntimeException (for reasons that remain unclear) during setUp of test_tdf46885_crash_chart_multiple_empty_cells_selected, and an soffice -> oosplash -> soffice.bin process duo apparently kept running, so that all the later tests' setUp each spawned an soffice -> oosplash that noticed that another soffice.bin was still running, so would quickly terminate again, so connect would raise a (somewhat misleading) "soffice has stopped" exception: [...] > ====================================================================== > ERROR: test_tdf46885_crash_chart_multiple_empty_cells_selected (tdf46885.tdf46885) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/uitest/framework.py", line 25, in setUp > self.connection.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 169, in setUp > conn.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 55, in setUp > self.xContext = self.connect(socket) > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 99, in connect > xContext = xUnoResolver.resolve(url) > uno.com.sun.star.uno.RuntimeException: initial object queryInterface for OID "StarOffice.ComponentContext" returned ANY of type boolean /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/binaryurp/source/bridge.cxx:884 > > ====================================================================== > ERROR: test_tdf46885_crash_chart_no_cell_selected_nextButton (tdf46885.tdf46885) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/uitest/framework.py", line 25, in setUp > self.connection.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 169, in setUp > conn.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 55, in setUp > self.xContext = self.connect(socket) > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 96, in connect > raise Exception("soffice has stopped.") > Exception: soffice has stopped. > > ====================================================================== > ERROR: test_tdf93506_chart_trendline_dialog (tdf93506_trendline.tdf93506) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/uitest/framework.py", line 25, in setUp > self.connection.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 169, in setUp > conn.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 55, in setUp > self.xContext = self.connect(socket) > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 96, in connect > raise Exception("soffice has stopped.") > Exception: soffice has stopped. > > ====================================================================== > ERROR: test_chart_format_data_series_dialog (formatDataSeries.chartFormatDataSeries) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/uitest/framework.py", line 25, in setUp > self.connection.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 169, in setUp > conn.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 55, in setUp > self.xContext = self.connect(socket) > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 96, in connect > raise Exception("soffice has stopped.") > Exception: soffice has stopped. > > ====================================================================== > ERROR: test_tdf122398_chart_min_max_x_axis (tdf122398.tdf122398) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/uitest/framework.py", line 25, in setUp > self.connection.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 169, in setUp > conn.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 55, in setUp > self.xContext = self.connect(socket) > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 96, in connect > raise Exception("soffice has stopped.") > Exception: soffice has stopped. > > ====================================================================== > ERROR: test_chart_x_axis_dialog (chartXAxis.chartXAxis) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/uitest/framework.py", line 25, in setUp > self.connection.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 169, in setUp > conn.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 55, in setUp > self.xContext = self.connect(socket) > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 96, in connect > raise Exception("soffice has stopped.") > Exception: soffice has stopped. > > ====================================================================== > ERROR: test_chart_y_axis_dialog (chartYAxis.chartYAxis) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/uitest/framework.py", line 25, in setUp > self.connection.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 169, in setUp > conn.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 55, in setUp > self.xContext = self.connect(socket) > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 96, in connect > raise Exception("soffice has stopped.") > Exception: soffice has stopped. > > ====================================================================== > ERROR: test_chart_area_dialog (chartArea.chartArea) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/uitest/framework.py", line 25, in setUp > self.connection.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 169, in setUp > conn.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 55, in setUp > self.xContext = self.connect(socket) > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 96, in connect > raise Exception("soffice has stopped.") > Exception: soffice has stopped. > > ====================================================================== > ERROR: test_tdf98390_chart_grid_dialog (chartGrid.chartGrid) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/uitest/framework.py", line 25, in setUp > self.connection.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 169, in setUp > conn.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 55, in setUp > self.xContext = self.connect(socket) > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 96, in connect > raise Exception("soffice has stopped.") > Exception: soffice has stopped. > > ====================================================================== > ERROR: test_chart_enable_grids_dialog (chartAxes.chartAxes) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/uitest/framework.py", line 25, in setUp > self.connection.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 169, in setUp > conn.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 55, in setUp > self.xContext = self.connect(socket) > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 96, in connect > raise Exception("soffice has stopped.") > Exception: soffice has stopped. > > ====================================================================== > ERROR: test_chart_enable_grids_dialog (chartGrids.chartGrids) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/uitest/framework.py", line 25, in setUp > self.connection.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 169, in setUp > conn.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 55, in setUp > self.xContext = self.connect(socket) > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 96, in connect > raise Exception("soffice has stopped.") > Exception: soffice has stopped. > > ====================================================================== > ERROR: test_chart_display_legend_dialog (chartLegend.chartLegend) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/uitest/framework.py", line 25, in setUp > self.connection.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 169, in setUp > conn.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 55, in setUp > self.xContext = self.connect(socket) > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 96, in connect > raise Exception("soffice has stopped.") > Exception: soffice has stopped. > > ====================================================================== > ERROR: test_chart_display_titles_dialog (chartTitles.chartTitles) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/uitest/framework.py", line 25, in setUp > self.connection.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 169, in setUp > conn.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 55, in setUp > self.xContext = self.connect(socket) > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 96, in connect > raise Exception("soffice has stopped.") > Exception: soffice has stopped. > > ====================================================================== > ERROR: test_tdf123231_chart_trendline_dialog_power (tdf123231.tdf123231) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/uitest/framework.py", line 25, in setUp > self.connection.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 169, in setUp > conn.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 55, in setUp > self.xContext = self.connect(socket) > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 96, in connect > raise Exception("soffice has stopped.") > Exception: soffice has stopped. > > ====================================================================== > ERROR: test_tdf124111_chart_x_negative_cross (tdf124111.tdf124111) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/uitest/framework.py", line 25, in setUp > self.connection.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 169, in setUp > conn.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 55, in setUp > self.xContext = self.connect(socket) > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 96, in connect > raise Exception("soffice has stopped.") > Exception: soffice has stopped. > > ====================================================================== > ERROR: test_tdf123520_chart_y_cross_other_axis (tdf123520.tdf123520) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/uitest/framework.py", line 25, in setUp > self.connection.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 169, in setUp > conn.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 55, in setUp > self.xContext = self.connect(socket) > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 96, in connect > raise Exception("soffice has stopped.") > Exception: soffice has stopped. > > ====================================================================== > ERROR: test_tdf99069_chart_cancel_data_ranges_dialog (tdf99069.tdf99069) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/uitest/framework.py", line 25, in setUp > self.connection.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 169, in setUp > conn.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 55, in setUp > self.xContext = self.connect(socket) > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 96, in connect > raise Exception("soffice has stopped.") > Exception: soffice has stopped. > > ====================================================================== > ERROR: test_chart_wall_dialog (chartWall.chartWall) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/uitest/framework.py", line 25, in setUp > self.connection.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 169, in setUp > conn.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 55, in setUp > self.xContext = self.connect(socket) > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 96, in connect > raise Exception("soffice has stopped.") > Exception: soffice has stopped. > > ====================================================================== > ERROR: test_chart_data_labels_dialog (chartDataLabels.chartDataLabels) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/uitest/framework.py", line 25, in setUp > self.connection.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 169, in setUp > conn.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 55, in setUp > self.xContext = self.connect(socket) > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 96, in connect > raise Exception("soffice has stopped.") > Exception: soffice has stopped. > Exception ignored in: <function Popen.__del__ at 0x2b7ce7e4e170> > Traceback (most recent call last): > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/instdir/program/python-core-3.7.7/lib/subprocess.py", line 883, in __del__ > ResourceWarning, source=self) > ResourceWarning: subprocess 23070 is still running > > ====================================================================== > ERROR: test_chart_data_labels_percentage_dialog (chartDataLabels.chartDataLabels) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/uitest/framework.py", line 25, in setUp > self.connection.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 169, in setUp > conn.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 55, in setUp > self.xContext = self.connect(socket) > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 96, in connect > raise Exception("soffice has stopped.") > Exception: soffice has stopped. > > ====================================================================== > ERROR: test_tdf131291 (chartDataLabels.chartDataLabels) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/uitest/framework.py", line 25, in setUp > self.connection.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 169, in setUp > conn.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 55, in setUp > self.xContext = self.connect(socket) > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 96, in connect > raise Exception("soffice has stopped.") > Exception: soffice has stopped. > > ====================================================================== > ERROR: test_tdf131715 (tdf131715.tdf131715) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/uitest/framework.py", line 25, in setUp > self.connection.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 169, in setUp > conn.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 55, in setUp > self.xContext = self.connect(socket) > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 96, in connect > raise Exception("soffice has stopped.") > Exception: soffice has stopped. > > ====================================================================== > ERROR: test_tdf129587 (tdf129587.tdf129587) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/uitest/framework.py", line 25, in setUp > self.connection.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 169, in setUp > conn.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 55, in setUp > self.xContext = self.connect(socket) > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 96, in connect > raise Exception("soffice has stopped.") > Exception: soffice has stopped. > > ====================================================================== > ERROR: test_tdf96432_chart_crash_transparency_error_bar_dialog (tdf96432.tdf96432) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/uitest/framework.py", line 25, in setUp > self.connection.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 169, in setUp > conn.setUp() > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 55, in setUp > self.xContext = self.connect(socket) > File "/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/uitest/libreoffice/connection.py", line 96, in connect > raise Exception("soffice has stopped.") > Exception: soffice has stopped. > > ---------------------------------------------------------------------- > Ran 26 tests in 61.194s > > FAILED (errors=24) > Tests run: 26 > Tests failed: 0 > Tests errors: 24 > Tests skipped: 0 > > Error: a unit test failed: > > To rerun just this failed test without all others, use: > make UITest_chart Change-Id: I743ada93e11c3b89991f0a72229f8c3003259241 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95595 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-06-04Remove unused self.proStephan Bergmann
...which became unused with 2959c99bae8a8199a8c5c4d4933707ab98acfffa "uitest: let us remove the kill part" Change-Id: I588de0c98b1b25e13faba4142587c019ea801c14 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95512 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-06-04Adapt documentationStephan Bergmann
...to 43aef04d77aafb9d055957642e62b559231f3711 "Reliably wait for soffice to terminate" Change-Id: Ieb0702196cd5f95d382a0f18c4bca1b01182d006 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95483 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-04-07Revert "UITest: Actually time-out the wait"Stephan Bergmann
This reverts commit 150b67b57bd25ba9c8ec9c28c7aed3cc0b557bfd. Reason for revert: With the above change, a hung soffice process would cause the UITest that spawned it to fail, but that would not terminate the hung soffice process. This is especially problematic for Gerrit Jenkins builds, where a leftover hung soffice process from a previous build will typically cause unrelated subsequent builds to fail. So: For a manual developer build, it is arguably better to leave the hung UITest in the hung state (both the python and the soffice process) to be able to debug it. And for an automated Gerrit Jenkins build it is even vital that the hung UITest hangs the build, so that Jenkins will eventually abort it and lode's bin/kill-wrapper will reliably kill any remaining processes, incl. the hung soffice process. (But of course it is unfortunate that we now get less feedback from a hung UITest.) Change-Id: I6cc577dda362d3cb71846decae9c2bb6bed90b6b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91717 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-01-25UITest: Actually time-out the waitMike Kaganski
Without that, if XDesktop::terminate() fails (e.g., because an assert in a test was false while a modal dialog was open, which left the dialog open, and so TerminationVetoException was thrown in XDesktop::terminate() by a listener), the wait never ends, and the assertion message gets lost when buildbot terminates the build, as happened in https://ci.libreoffice.org/job/gerrit_linux_clang_dbgutil/51496/console. The timeout only available since python 3.3. The soffice process is not terminated in this case; hopefully it will be terminated when build cleanup will occur. Change-Id: I924775d0e58619d1fbd603e80ed1f8d047c91145 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87362 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2019-10-04Revert "uitest: make child soffice process die when parent dies"Stephan Bergmann
This reverts commit d35840a2111beafe018851314a624e268e3cde6a, now that 43aef04d77aafb9d055957642e62b559231f3711 "Reliably wait for soffice to terminate" makes sure that no soffice-related processes are left behind by UITests. Using PR_SET_PDEATHSIG had the following drawbacks: * It defeats debugging if a runaway process is forcefully killed by the test framework. (And there are already higher-layer mechanisms in place for the reliable termination of runaway tinderbox builds, see the commit message of 43aef04d77aafb9d055957642e62b559231f3711 mentioned above.) * It is brittle in that it can terminate soffice-related processes too early, as the signal is sent as soon as the parent's thread that spawned the child (and not the parent process as a whole) terminates. * It is Linux-only. Change-Id: Ia07f5dbaafc824bad0dfbdb1a2aabe6d5508741b Reviewed-on: https://gerrit.libreoffice.org/80186 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-04Reliably wait for soffice to terminateStephan Bergmann
...to avoid leftover soffice-related processes (oosplash, soffice.bin) from UITests, whose occasional presence on tinderboxes is discussed in the comments to <https://gerrit.libreoffice.org/#/c/79854/> "uitest: make child soffice process die when parent dies". Should sucha an soffice-related process fail to terminate, the UITest will now fail to terminate too, and (a) a developer can debug the hung processes or (b) a tinderbox can reliably kill all processes (cf. <https://gerrit.libreoffice.org/plugins/gitiles/lode/+/ bea0738dbadfe8784e5d3c00f533acf101db4e7e%5E%21> "tb_slave_wrapper: trap signal and kill -9 everything"). This is in line with the waiting in tearDown in unotest/source/python/org/libreoffice/unotest.py, and with the corresponding behavior of C++ and Java test frameworks in unotest. Change-Id: Ieb5c48964428bc05fa8c0f83af9426641d6df693 Reviewed-on: https://gerrit.libreoffice.org/80175 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-03Propagate soffice process failure from OfficeConnection's tearDownStephan Bergmann
...which had gone missing with 98cbfb087eed0d1defa6ef26385fcf47f95c05fc "uitest: kill the LibreOffice instance if it ignores terminate request". (None != 0 is true, so there is no need to map from ret_attr to ret, and that code can be cleaned up a bit.) Change-Id: Ic5e429d61a10a2bbd5c28aeee9d8465cb05c1e4a Reviewed-on: https://gerrit.libreoffice.org/80147 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-01uitest: make child soffice process die when parent diesNoel Grandin
using PR_SET_PDEATHSIG. Note that this can only be called by the child process in question, so we have to pass a new command line argument down to activate it. And we have to plumb it through the wrapper oosplash process. I wonder where else our testing infrastructure could benefit from this Change-Id: I55e8e9f7f4e6cc415046df04c804e51475b8a4c9 Reviewed-on: https://gerrit.libreoffice.org/79854 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-10-02solenv: support gb_UITest_DEBUGRUN for ui testsMiklos Vajna
This is similar to gb_JunitTest_DEBUGRUN, i.e. allows running soffice in gdb, and then connecting to that soffice from the test, instead of starting an own one. Change-Id: I023d6b0ede146837666c946cb865feb9046e5a94 Reviewed-on: https://gerrit.libreoffice.org/42756 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2017-06-12remove debug print statementMarkus Mohrhard
Change-Id: I419dd9311bc4fbb9fcd2e73a83c5272ecbec242d Reviewed-on: https://gerrit.libreoffice.org/38680 Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com> Tested-by: Jenkins <ci@libreoffice.org>
2017-06-10uitest: set en_US.UTF8 for the LibreOffice instanceMarkus Mohrhard
Change-Id: If4726804c2b967582cbf1a4e816c1c7bee01aeeb Reviewed-on: https://gerrit.libreoffice.org/38626 Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2017-06-08remove unused importsMarkus Mohrhard
Change-Id: I7efdbc1278d27ed75d8e48a35a9fac0358144214 Reviewed-on: https://gerrit.libreoffice.org/38548 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2017-02-27uitest: increase the shutdown timeoutMarkus Mohrhard
Seems that under really high load 5 seconds is not enough. Change-Id: Ia0b2f7ff7bf469d188c9ceea0edc7f1d2d4002d3 Reviewed-on: https://gerrit.libreoffice.org/34666 Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2017-02-27uitest: document methods and pep8 fixesMarkus Mohrhard
Change-Id: I90af25c89cb33d5dc75f73a3b4918605d47474f1 Reviewed-on: https://gerrit.libreoffice.org/34665 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2017-02-27uitest: remove old test methodsMarkus Mohrhard
Change-Id: I29296c90811f9a910c505a9dcd4db7f13a6130b8 Reviewed-on: https://gerrit.libreoffice.org/34664 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2017-01-25uitest: some pep8 fixesMarkus Mohrhard
Change-Id: Ib889604f1b6d11e874c27fb5d2757a792a687366
2016-12-19make sure we are not leaving soffice around if python process crashesMarkus Mohrhard
Change-Id: Idac32c3d788714533ee760782d2b6a328262f3f8 Reviewed-on: https://gerrit.libreoffice.org/31996 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-10-26normalize existing emacs/vim mode-lines in python filesMichael Stahl
Bunch of these were setting C++ or Make modes and icky tabs... Also, reportedly Emacs can figure out to enable python-mode automatically. Change-Id: I50072488fb92cb4d27aa3f74f717a28ae3967543
2016-10-11avoid infinite loop if the instance stopped alreadyMarkus Mohrhard
Change-Id: I03f78e592f3f182f34ea05829131357cabcc4c7b
2016-07-13uitest: remove print statementMarkus Mohrhard
Change-Id: I1065acf0f2406881532e75459bfddbdb7967ad8b
2016-07-10uitest: support starting the LibO with gdbMarkus Mohrhard
Change-Id: I23fe7563b3d0fe8084541d702583bc38997413ac
2016-07-09uitest: kill the LibreOffice instance if it ignores terminate requestMarkus Mohrhard
Change-Id: I47c69878ebaa834eb75208ce8e5c26544e3e62bd
2016-06-26uitest: bring some order into the file messMarkus Mohrhard
The uitest/uitest directory will be used for the actual uitest framework. The libreoffice directory should contain any common LibreOffice related code. Change-Id: I3f6394ff4be83b89a8764eab10a154e755237d35