[Libreoffice-commits] online.git: test/UnitClient.cpp

Michael Meeks michael.meeks at collabora.com
Tue Jun 6 08:32:47 UTC 2017


 test/UnitClient.cpp |   66 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 66 insertions(+)

New commits:
commit 5e2166bfd779114fad8a1b4ead2398f783c3e144
Author: Michael Meeks <michael.meeks at collabora.com>
Date:   Tue Jun 6 08:53:41 2017 +0100

    Add missing UnitClient.cpp
    
    Change-Id: I267c5538faac695be7105ce4c81f1d247eb07595

diff --git a/test/UnitClient.cpp b/test/UnitClient.cpp
new file mode 100644
index 00000000..46aaaf34
--- /dev/null
+++ b/test/UnitClient.cpp
@@ -0,0 +1,66 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * 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/.
+ */
+
+// Runs client tests in their own thread inside a WSD process.
+
+#include "config.h"
+
+#include "Unit.hpp"
+#include "wsd/LOOLWSD.hpp"
+
+#include "test.hpp"
+
+// Inside the WSD process
+class UnitClient : public UnitWSD
+{
+    bool _workerStarted;
+    std::thread _worker;
+
+public:
+    UnitClient() :
+        _workerStarted(false)
+    {
+        int timeout_minutes = 5;
+        setTimeout(timeout_minutes * 60 * 1000);
+    }
+    ~UnitClient()
+    {
+        LOG_INF("Joining test worker thread\n");
+        _worker.join();
+    }
+
+    void configure(Poco::Util::LayeredConfiguration& config) override
+    {
+        UnitWSD::configure(config);
+        // force HTTPS - to test harder
+        config.setBool("ssl.enable", true);
+    }
+
+    void invokeTest() override
+    {
+        // this method gets called every few seconds.
+        if (_workerStarted)
+            return;
+        _workerStarted = true;
+
+        _worker = std::thread([this]{
+                if (runClientTests(false, true))
+                    exitTest (TestResult::Failed);
+                else
+                    exitTest (TestResult::Ok);
+            });
+    }
+};
+
+UnitBase *unit_create_wsd(void)
+{
+    return new UnitClient();
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */


More information about the Libreoffice-commits mailing list