loolwsd/test/countloolkits.hpp |   14 +++++++++++---
 loolwsd/test/httpcrashtest.cpp |    1 -
 2 files changed, 11 insertions(+), 4 deletions(-)

New commits:
commit 970259d170ddcb938bccdecad7f32792639ba62a
Author: Tor Lillqvist <t...@collabora.com>
Date:   Mon Oct 17 21:56:14 2016 +0300

    killLoKitProcesses() already calls countLoolKitProcesses(0)
    
    No need to immetiately call it again in testBarren().

diff --git a/loolwsd/test/httpcrashtest.cpp b/loolwsd/test/httpcrashtest.cpp
index fad34a2..53e6f0c 100644
--- a/loolwsd/test/httpcrashtest.cpp
+++ b/loolwsd/test/httpcrashtest.cpp
@@ -122,7 +122,6 @@ void HTTPCrashTest::testBarren()
     try
     {
         killLoKitProcesses();
-        countLoolKitProcesses(0);
 
         std::cerr << "Loading after kill." << std::endl;
 
commit a3236497a85c8fcdc48c55a2c7830cefdb05e619
Author: Tor Lillqvist <t...@collabora.com>
Date:   Mon Oct 17 21:44:28 2016 +0300

    Fix HTTPWSTest::testConnectNoLoad
    
    The waiting for the expected number of loolkit processes after that
    test never succeeded. That apparently was caused by the fact that the
    loolwsd process is waiting for up to COMMAND_TIMEOUT_MS (five seconds
    currently) for an auto-save of the document to succeed, and that never
    happens in this case.
    
    countLoolKitProcesses() on the other hand was waiting only a bit over
    three seconds (calculated in a complicated way from POLL_TIMEOUT_MS
    and a few magic numbers) for the number of loolkit processes to reach
    the expected number. Or something like that.
    
    COMMAND_TIMEOUT_MS=5000 and POLL_TIMEOUT_MS=COMMAND_TIMEOUT_MS/10 =>
    500. We used to have in countLoolKitProcesses():
    sleepMs=POLL_TIMEOUT_MS/3 => 166 and repeat=(3000/sleepMs)+1 =>
    19. 19*166 => 3154.
    
    Fix by calculating the max time to wait for the expected number of
    loolkit processes in countLoolKitProcesses() in a different way, so
    that it is always longer than COMMAND_TIMEOUT_MS.

diff --git a/loolwsd/test/countloolkits.hpp b/loolwsd/test/countloolkits.hpp
index b96e173..275efea 100644
--- a/loolwsd/test/countloolkits.hpp
+++ b/loolwsd/test/countloolkits.hpp
@@ -69,9 +69,17 @@ int countLoolKitProcesses(const int expected)
 {
     std::cerr << "Waiting to have " << expected << " loolkit processes. 
Loolkits: ";
 
-    // Retry for about 3 seconds.
-    const auto sleepMs = static_cast<int>(POLL_TIMEOUT_MS / 3);
-    const size_t repeat = (3000 / sleepMs) + 1;
+    // We have to wait at least for the time the call 
docBroker->autoSave(forceSave,
+    // COMMAND_TIMEOUT_MS)) in ClientRequestHandler:::handleGetRequest() can 
take to wait for
+    // information about a successful auto-save. In the 
HTTPWSTest::testConnectNoLoad() there is
+    // nothing to auto-save, so it waits in vain.
+
+    // This does not need to depend on any constant from Common.hpp. The 
shorter the better (the
+    // quicker the test runs).
+    const auto sleepMs = 200;
+
+    // This has to cause waiting for at least COMMAND_TIMEOUT_MS. Add one 
second for safety.
+    const size_t repeat = ((COMMAND_TIMEOUT_MS + 1000) / sleepMs);
     auto count = getLoolKitProcessCount();
     for (size_t i = 0; i < repeat; ++i)
     {
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to