[Libreoffice-commits] online.git: loolwsd/test

Ashod Nakashian ashod.nakashian at collabora.co.uk
Mon May 23 01:53:17 UTC 2016


 loolwsd/test/TileCacheTests.cpp |   16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

New commits:
commit ecaf45f9d391ef8f1478980dafb43f6cc8398377
Author: Ashod Nakashian <ashod.nakashian at collabora.co.uk>
Date:   Sun May 22 18:30:53 2016 -0400

    loolwsd: tests should request tiles after invalidatetile
    
    Change-Id: I32637d7e34a80577e99b764705bddf104df0278a
    Reviewed-on: https://gerrit.libreoffice.org/25342
    Reviewed-by: Ashod Nakashian <ashnakash at gmail.com>
    Tested-by: Ashod Nakashian <ashnakash at gmail.com>

diff --git a/loolwsd/test/TileCacheTests.cpp b/loolwsd/test/TileCacheTests.cpp
index f4bc0d8..a40b0db 100644
--- a/loolwsd/test/TileCacheTests.cpp
+++ b/loolwsd/test/TileCacheTests.cpp
@@ -243,14 +243,14 @@ void TileCacheTests::testUnresponsiveClient()
     // TODO: Track memory consumption to verify we don't buffer too much.
     for (auto x = 0; x < 5; ++x)
     {
-        // As for tiles and don't read!
+        // Ask for tiles and don't read!
         sendTextFrame(socket1, "tilecombine part=0 width=256 height=256 tileposx=0,3840,7680,11520,0,3840,7680,11520 tileposy=0,0,0,0,3840,3840,3840,3840 tilewidth=3840 tileheight=3840");
 
         // Verify that we get all 8 tiles.
         sendTextFrame(socket2, "tilecombine part=0 width=256 height=256 tileposx=0,3840,7680,11520,0,3840,7680,11520 tileposy=0,0,0,0,3840,3840,3840,3840 tilewidth=3840 tileheight=3840");
         for (auto i = 0; i < 8; ++i)
         {
-            auto tile = getResponseMessage(socket2, "tile:");
+            auto tile = getResponseMessage(socket2, "tile:", "client2 ");
             CPPUNIT_ASSERT_MESSAGE("did not receive a tile: message as expected", !tile.empty());
         }
     }
@@ -321,6 +321,11 @@ void TileCacheTests::testSimultaneousTilesRenderedJustOnce()
     Poco::Net::WebSocket socket2 = *connectLOKit(_uri, request, _response);
     sendTextFrame(socket2, "load url=" + documentURL);
 
+    // Wait for the invalidatetile events to pass, otherwise they
+    // remove our tile subscription.
+    assertResponseLine(socket1, "statechanged:", "client1 ");
+    assertResponseLine(socket2, "statechanged:", "client2 ");
+
     sendTextFrame(socket1, "tile part=42 width=400 height=400 tileposx=1000 tileposy=2000 tilewidth=3000 tileheight=3000");
     sendTextFrame(socket2, "tile part=42 width=400 height=400 tileposx=1000 tileposy=2000 tilewidth=3000 tileheight=3000");
 
@@ -584,7 +589,7 @@ void TileCacheTests::checkTiles(Poco::Net::WebSocket& socket, const std::string&
     // random setclientpart
     std::srand(std::time(0));
     std::vector<int> vParts = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
-    std::random_shuffle (vParts.begin(), vParts.end());
+    std::random_shuffle(vParts.begin(), vParts.end());
     for (auto it : vParts)
     {
         if (currentPart != it)
@@ -593,6 +598,11 @@ void TileCacheTests::checkTiles(Poco::Net::WebSocket& socket, const std::string&
             text = Poco::format("setclientpart part=%d", it);
             std::cout << text << std::endl;
             sendTextFrame(socket, text);
+            // Wait for the change to take effect otherwise we get invalidatetile
+            // which removes our next tile request subscription (expecting us to
+            // issue a new tile request as a response, which a real client would do).
+            assertResponseLine(socket, "setpart:", "checkTiles");
+
             requestTiles(socket, it, docWidth, docHeight);
         }
         currentPart = it;


More information about the Libreoffice-commits mailing list