diff options
author | Michael Meeks <michael.meeks@collabora.com> | 2017-06-06 08:53:41 +0100 |
---|---|---|
committer | Michael Meeks <michael.meeks@collabora.com> | 2017-06-06 08:53:57 +0100 |
commit | 5e2166bfd779114fad8a1b4ead2398f783c3e144 (patch) | |
tree | d42b3e5c9b444fc572eb5c56b97ae9fbef94e921 /test/UnitClient.cpp | |
parent | c1a302a18220c25e6885c508bab1a5997ccd5bf1 (diff) |
Add missing UnitClient.cpp
Change-Id: I267c5538faac695be7105ce4c81f1d247eb07595
Diffstat (limited to 'test/UnitClient.cpp')
-rw-r--r-- | test/UnitClient.cpp | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/test/UnitClient.cpp b/test/UnitClient.cpp new file mode 100644 index 000000000..46aaaf34b --- /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: */ |