Re: [Libreoffice-commits] More temp copies of test docs in Python/UITests

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread 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@xxxxxxxxxx>
AuthorDate: Thu Sep 13 14:49:48 2018 +0200
Commit:     Stephan Bergmann <sbergman@xxxxxxxxxx>
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@xxxxxxxxxx>

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):
_______________________________________________
LibreOffice mailing list
LibreOffice@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/libreoffice




[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux