test/TileCacheTests.cpp |   47 +++++++++++++++++++++++++++++------------------
 test/httpwstest.cpp     |   18 +++++++++++++-----
 2 files changed, 42 insertions(+), 23 deletions(-)

New commits:
commit c82760f1037c6019a0b03463405ec12669ad4f6a
Author:     Ashod Nakashian <ashod.nakash...@collabora.co.uk>
AuthorDate: Mon Oct 21 11:42:03 2019 -0400
Commit:     Ashod Nakashian <ashnak...@gmail.com>
CommitDate: Tue Oct 29 02:32:54 2019 +0100

    test: improve TileCache tests
    
    This fixes up some minor issues, improves stability
    and logging of tests.
    
    Reviewed-on: https://gerrit.libreoffice.org/81259
    Reviewed-by: Andras Timar <andras.ti...@collabora.com>
    Tested-by: Andras Timar <andras.ti...@collabora.com>
    (cherry picked from commit a6e2dff35a4f1234066c66cb64f7e3bcd034ed58)
    
    Change-Id: I906922c1c74427a53f9017f7be73c1f85ecf4cd7
    Reviewed-on: https://gerrit.libreoffice.org/81575
    Reviewed-by: Ashod Nakashian <ashnak...@gmail.com>
    Tested-by: Ashod Nakashian <ashnak...@gmail.com>

diff --git a/test/TileCacheTests.cpp b/test/TileCacheTests.cpp
index 396b0e031..913d777fc 100644
--- a/test/TileCacheTests.cpp
+++ b/test/TileCacheTests.cpp
@@ -128,6 +128,7 @@ class TileCacheTests : public CPPUNIT_NS::TestFixture
                     const std::string& name = "checkTiles ");
 
     void requestTiles(std::shared_ptr<LOOLWebSocket>& socket,
+                      const std::string& docType,
                       const int part,
                       const int docWidth,
                       const int docHeight,
@@ -1079,10 +1080,18 @@ void 
TileCacheTests::checkTiles(std::shared_ptr<LOOLWebSocket>& socket, const st
 
         Poco::StringTokenizer tokens(line, " ", 
Poco::StringTokenizer::TOK_IGNORE_EMPTY | Poco::StringTokenizer::TOK_TRIM);
 #if defined CPPUNIT_ASSERT_GREATEREQUAL
-        CPPUNIT_ASSERT_GREATEREQUAL(static_cast<size_t>(6), tokens.count());
+        if (docType == "presentation")
+            CPPUNIT_ASSERT_GREATEREQUAL(static_cast<size_t>(7), 
tokens.count()); // We have an extra field.
+        else
+            CPPUNIT_ASSERT_GREATEREQUAL(static_cast<size_t>(6), 
tokens.count());
+#else
+        if (docType == "presentation")
+            CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(7), tokens.count()); // 
We have an extra field.
+        else
+            CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(6), tokens.count());
 #endif
 
-        // Expected format is something like 'type= parts= current= width= 
height= [hiddenparts=]'.
+        // Expected format is something like 'type= parts= current= width= 
height='.
         const std::string text = tokens[0].substr(type.size());
         totalParts = std::stoi(tokens[1].substr(parts.size()));
         currentPart = std::stoi(tokens[2].substr(current.size()));
@@ -1099,7 +1108,7 @@ void 
TileCacheTests::checkTiles(std::shared_ptr<LOOLWebSocket>& socket, const st
     {
         // request tiles
         TST_LOG("Requesting Impress tiles.");
-        requestTiles(socket, currentPart, docWidth, docHeight, name);
+        requestTiles(socket, docType, currentPart, docWidth, docHeight, name);
     }
 
     // random setclientpart
@@ -1119,7 +1128,7 @@ void 
TileCacheTests::checkTiles(std::shared_ptr<LOOLWebSocket>& socket, const st
             // issue a new tile request as a response, which a real client 
would do).
             assertResponseString(socket, "setpart:", name);
 
-            requestTiles(socket, it, docWidth, docHeight, name);
+            requestTiles(socket, docType, it, docWidth, docHeight, name);
 
             if (++requests >= 3)
             {
@@ -1132,7 +1141,9 @@ void 
TileCacheTests::checkTiles(std::shared_ptr<LOOLWebSocket>& socket, const st
     }
 }
 
-void TileCacheTests::requestTiles(std::shared_ptr<LOOLWebSocket>& socket, 
const int part, const int docWidth, const int docHeight, const std::string& 
name)
+void TileCacheTests::requestTiles(std::shared_ptr<LOOLWebSocket>& socket,
+                                  const std::string& , const int part, const 
int docWidth,
+                                  const int docHeight, const std::string& name)
 {
     // twips
     const int tileSize = 3840;
@@ -1176,7 +1187,7 @@ void 
TileCacheTests::requestTiles(std::shared_ptr<LOOLWebSocket>& socket, const
 
             sendTextFrame(socket, text, name);
             tile = assertResponseString(socket, "tile:", name);
-            // expected tile: nviewid= part= width= height= tileposx= 
tileposy= tilewidth= tileheight=
+            // expected tile: part= width= height= tileposx= tileposy= 
tilewidth= tileheight=
             Poco::StringTokenizer tokens(tile, " ", 
Poco::StringTokenizer::TOK_IGNORE_EMPTY | Poco::StringTokenizer::TOK_TRIM);
             CPPUNIT_ASSERT_EQUAL(std::string("tile:"), tokens[0]);
             CPPUNIT_ASSERT_EQUAL(0, 
std::stoi(tokens[1].substr(std::string("nviewid=").size())));
@@ -1273,9 +1284,9 @@ void TileCacheTests::testTileWireIDHandling()
     CPPUNIT_ASSERT_MESSAGE("Expected at least two tiles.", 
countMessages(socket, "tile:", testname, 500) > 1);
 
     // Let WSD know we got these so it wouldn't stop sending us modified tiles 
automatically.
-    sendTextFrame(socket, "tileprocessed tile=0:0:0:3840:3840:0");
-    sendTextFrame(socket, "tileprocessed tile=0:3840:0:3840:3840:0");
-    sendTextFrame(socket, "tileprocessed tile=0:7680:0:3840:3840:0");
+    sendTextFrame(socket, "tileprocessed tile=0:0:0:3840:3840:0", testname);
+    sendTextFrame(socket, "tileprocessed tile=0:3840:0:3840:3840:0", testname);
+    sendTextFrame(socket, "tileprocessed tile=0:7680:0:3840:3840:0", testname);
 
     // Type an other character
     sendChar(socket, 'y', skNone, testname);
@@ -1342,7 +1353,7 @@ void TileCacheTests::testTileProcessed()
 
     for(std::string& tileID : tileIDs)
     {
-        sendTextFrame(socket, "tileprocessed tile=" + tileID);
+        sendTextFrame(socket, "tileprocessed tile=" + tileID, testname);
     }
 
     // Now we can get the remaining tiles
@@ -1420,10 +1431,10 @@ void TileCacheTests::testTileBeingRenderedHandling()
     // For the first input wsd will send all invalidated tiles
     CPPUNIT_ASSERT_MESSAGE("Expected at least two tiles.", 
countMessages(socket, "tile:", testname, 500) > 1);
 
-    // For the later inputs wsd will send one tile, since other ones are 
identical
+    // For the later inputs wsd will send one tile, since other ones are 
indentical
     for(int i = 0; i < 5; ++i)
     {
-        sendTextFrame(socket, "tileprocessed tile=0:0:0:3200:3200:0");
+        sendTextFrame(socket, "tileprocessed tile=0:0:0:3200:3200:0", 
testname);
 
         // Type an other character
         sendChar(socket, 'y', skNone, testname);
@@ -1436,7 +1447,7 @@ void TileCacheTests::testTileBeingRenderedHandling()
             // are sub-pixel different, and that results in a different hash.
             CPPUNIT_ASSERT_EQUAL(2, arrivedTiles);
 
-            sendTextFrame(socket, "tileprocessed tile=0:0:0:3200:3200:0");
+            sendTextFrame(socket, "tileprocessed tile=0:0:0:3200:3200:0", 
testname);
 
             // The third time, however, we shouldn't see anything but the tile 
we change.
             sendChar(socket, 'z', skNone, testname);
@@ -1475,9 +1486,9 @@ void TileCacheTests::testWireIDFilteringOnWSDSide()
     CPPUNIT_ASSERT_MESSAGE("Expected at least two tiles.", 
countMessages(socket1, "tile:", testname, 500) > 1);
 
     // Let WSD know we got these so it wouldn't stop sending us modified tiles 
automatically.
-    sendTextFrame(socket1, "tileprocessed tile=0:0:0:3840:3840:0");
-    sendTextFrame(socket1, "tileprocessed tile=0:3840:0:3840:3840:0");
-    sendTextFrame(socket1, "tileprocessed tile=0:7680:0:3840:3840:0");
+    sendTextFrame(socket1, "tileprocessed tile=0:0:0:3840:3840:0", testname);
+    sendTextFrame(socket1, "tileprocessed tile=0:3840:0:3840:3840:0", 
testname);
+    sendTextFrame(socket1, "tileprocessed tile=0:7680:0:3840:3840:0", 
testname);
 
     // Type an other character
     sendChar(socket1, 'y', skNone, testname);
@@ -1490,7 +1501,7 @@ void TileCacheTests::testWireIDFilteringOnWSDSide()
 
     // Or, at most 2. The reason is that sometimes we get line antialiasing 
differences that
     // are sub-pixel different, and that results in a different hash.
-    CPPUNIT_ASSERT_EQUAL(2, arrivedTiles);
+    CPPUNIT_ASSERT_MESSAGE("Expected at most 3 tiles.", arrivedTiles <= 3);
 
     // The third time, however, we shouldn't see anything but the tile we 
change.
     sendChar(socket1, 'z', skNone, testname);
@@ -1554,7 +1565,7 @@ void TileCacheTests::testLimitTileVersionsOnFly()
 
     // When the next tileprocessed message arrive with correct tileID
     // wsd sends the delayed tile
-    sendTextFrame(socket, "tileprocessed tile=0:0:0:3200:3200:0");
+    sendTextFrame(socket, "tileprocessed tile=0:0:0:3200:3200:0", testname);
 
     int arrivedTiles = 0;
     bool gotTile = false;
diff --git a/test/httpwstest.cpp b/test/httpwstest.cpp
index 40b0d604f..45311e84e 100644
--- a/test/httpwstest.cpp
+++ b/test/httpwstest.cpp
@@ -689,8 +689,9 @@ void HTTPWSTest::testReloadWhileDisconnecting()
         CPPUNIT_ASSERT_EQUAL(kitcount, countLoolKitProcesses(kitcount));
 
         // Check if the document contains the pasted text.
-        const std::string selection = getAllText(socket, testname);
-        CPPUNIT_ASSERT_EQUAL(std::string("textselectioncontent: aaa bbb ccc"), 
selection);
+        const std::string expected = "aaa bbb ccc";
+        const std::string selection = getAllText(socket, testname, expected);
+        CPPUNIT_ASSERT_EQUAL(std::string("textselectioncontent: ") + expected, 
selection);
     }
     catch (const Poco::Exception& exc)
     {
@@ -1147,6 +1148,8 @@ void HTTPWSTest::getPartHashCodes(const std::string& 
testname,
     Poco::StringTokenizer tokens(line, " ", 
Poco::StringTokenizer::TOK_IGNORE_EMPTY | Poco::StringTokenizer::TOK_TRIM);
 #if defined CPPUNIT_ASSERT_GREATEREQUAL
     CPPUNIT_ASSERT_GREATEREQUAL(static_cast<size_t>(7), tokens.count());
+#else
+    CPPUNIT_ASSERT_MESSAGE("Expected at least 7 tokens.", 
static_cast<size_t>(7) <= tokens.count());
 #endif
 
     const std::string type = tokens[0].substr(std::string("type=").size());
@@ -2335,21 +2338,26 @@ void HTTPWSTest::testUndoConflict()
     try
     {
         // Load first view
-        sendTextFrame(socket0, "load url=" + docURL);
+        sendTextFrame(socket0, "load url=" + docURL, testname + "0 ");
         response = getResponseString(socket0, "invalidatecursor:", testname + 
"0 ");
 
         // Load second view
-        sendTextFrame(socket1, "load url=" + docURL);
+        sendTextFrame(socket1, "load url=" + docURL, testname + "1 ");
         response = getResponseString(socket1, "invalidatecursor:", testname + 
"1 ");
 
         // edit first view
         sendChar(socket0, 'A', skNone, testname + "0 ");
         response = getResponseString(socket0, "invalidateviewcursor: ", 
testname + "0 ");
+        response = getResponseString(socket0, "invalidateviewcursor: ", 
testname + "0 ");
+
         // edit second view
         sendChar(socket1, 'B', skNone, testname + "1 ");
         response = getResponseString(socket1, "invalidateviewcursor: ", 
testname + "1 ");
+        response = getResponseString(socket1, "invalidateviewcursor: ", 
testname + "1 ");
+
         // try to undo first view
-        sendTextFrame(socket0, "uno .uno:Undo", testname);
+        sendTextFrame(socket0, "uno .uno:Undo", testname + "0 ");
+
         // undo conflict
         response = getResponseString(socket0, "unocommandresult:", testname + 
"0 ");
         Poco::JSON::Object::Ptr objJSON = 
parser.parse(response.substr(17)).extract<Poco::JSON::Object::Ptr>();
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to