Date: prev next · Thread: first prev next last
2018 Archives by date, by thread · List index


Please keep the below in mind at least when writing new tests---don't open test documents directly from SRCDIR if the test may cause lock files to be written next to them.

On 13/09/2018 16:37, Libreoffice Gerrit user wrote:
New commits:
commit 5eb9dd46e9b3ba18afd4f6dac580c4b91e715f43
Author:     Stephan Bergmann <sbergman@redhat.com>
AuthorDate: Thu Sep 13 14:49:48 2018 +0200
Commit:     Stephan Bergmann <sbergman@redhat.com>
CommitDate: Thu Sep 13 16:36:58 2018 +0200

     More temp copies of test docs in Python/UITests
...similar to d76281864b0e83812c0edf7490b1e8271e89fff5 "Create temp copies of
     test docs in Python/UITests", which only fixed those places that were broken
     with a read-only SRCDIR.  However, I now ran into a deadlock on Linux (where
     UITests are run with SAL_USE_VCLPLUGIN=svp) that suggests that /all/ documents
     from SRCDIR that are opened by those tests should better first be copied to
     WORKDIR sub-dirs (that are removed prior to running tests, so stale lock files
     cannot exists).  This commit addresses just a small part of all those tests,
     though.
I had cancelled (ctrl-c) a `make check` midway, when it happened to be in the
     middle of UITest_calc_tests2 and left beind a
     sc/qa/uitest/calc_tests/data/.~lock.stableSorting.ods# lock file (which records,
     among other things, the host name).  I then dropped off a VPN, which caused the
     host name as seen by LO to switch from "alpha" to "alpha.fritz.box", then re-
     started the build as `make check screenshot` (which was the thing I'd originally
     intended, but forgotten the screenshot target).  The new built hung during
     UITest_calc_tests2's sc/qa/uitest/calc_tests2/stableSorting.py, as loading
     sc/qa/uitest/calc_tests/data/stableSorting.ods found the lock file with non-
     matching host name in SfxMedium::LockOrigFileOnDemand, and hung in
     SfxMedium::ShowLockedDocumentDialog -> UUIInteractionHandler::handle -> (switch
     to main thread...) -> UUIInteractionHelper::handleLockedDocumentRequest -> ...
     -> Dialog::Execute, which just blocks in svp mode (which, unlike --headless,
     doesn't cause Application::IsDialogCancelEnabled).
Change-Id: I999af50d6b1e5012d3978f5e476bcbfc9be6fd1d
     Reviewed-on: https://gerrit.libreoffice.org/60439
     Tested-by: Jenkins
     Reviewed-by: Stephan Bergmann <sbergman@redhat.com>

diff --git a/sc/qa/uitest/calc_tests2/stableSorting.py b/sc/qa/uitest/calc_tests2/stableSorting.py
index dc20f7b45e76..986c7cc3d612 100644
--- a/sc/qa/uitest/calc_tests2/stableSorting.py
+++ b/sc/qa/uitest/calc_tests2/stableSorting.py
@@ -4,6 +4,9 @@
  # License, v. 2.0. If a copy of the MPL was not distributed with this
  # file, You can obtain one at http://mozilla.org/MPL/2.0/.
  #
+
+import org.libreoffice.unotest
+import pathlib
  from uitest.framework import UITestCase
  from uitest.uihelper.common import get_state_as_dict
  from uitest.uihelper.common import select_pos
@@ -11,12 +14,11 @@ from uitest.uihelper.calc import enter_text_to_cell
  from libreoffice.calc.document import get_sheet_from_doc
  from libreoffice.calc.conditional_format import get_conditional_format_from_sheet
  from uitest.debug import sleep
-from uitest.path import get_srcdir_url
  from libreoffice.calc.document import get_cell_by_position
  from libreoffice.uno.propertyvalue import mkPropertyValues
  #Testcases Sorting TCS_Sorting Stable sorting
  def get_url_for_data_file(file_name):
-    return get_srcdir_url() + "/sc/qa/uitest/calc_tests/data/" + file_name
+    return pathlib.Path(org.libreoffice.unotest.makeCopyFromTDOC(file_name)).as_uri()
class CalcStableSorting(UITestCase):

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.