diff options
author | Ashod Nakashian <ashod.nakashian@collabora.co.uk> | 2020-12-14 14:00:55 -0500 |
---|---|---|
committer | Ashod Nakashian <Ashod@users.noreply.github.com> | 2020-12-22 11:24:13 -0500 |
commit | 13d7d23cbedda4a8e02b0c6f88dd13bca947fd1f (patch) | |
tree | a75d3494658e18622e0b3e026ffd5b8d6353976c | |
parent | wsd: logs and const (diff) | |
download | online-13d7d23cbedda4a8e02b0c6f88dd13bca947fd1f.tar.gz online-13d7d23cbedda4a8e02b0c6f88dd13bca947fd1f.zip |
wsd: use chrono for readability and conversion safety
Change-Id: If5d478605fef0199b331d91310673a460e70d48e
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
-rw-r--r-- | common/Unit.cpp | 4 | ||||
-rw-r--r-- | common/Unit.hpp | 7 | ||||
-rw-r--r-- | test/UnitAdmin.cpp | 2 | ||||
-rw-r--r-- | test/UnitClient.cpp | 4 | ||||
-rw-r--r-- | test/UnitClose.cpp | 5 | ||||
-rw-r--r-- | test/UnitConvert.cpp | 5 | ||||
-rw-r--r-- | test/UnitEachView.cpp | 2 | ||||
-rw-r--r-- | test/UnitFuzz.cpp | 4 | ||||
-rw-r--r-- | test/UnitLoadTorture.cpp | 4 | ||||
-rw-r--r-- | test/UnitPrefork.cpp | 2 | ||||
-rw-r--r-- | test/UnitTimeout.cpp | 5 | ||||
-rw-r--r-- | test/UnitTyping.cpp | 5 | ||||
-rw-r--r-- | wsd/LOOLWSD.cpp | 21 | ||||
-rw-r--r-- | wsd/Storage.hpp | 13 |
14 files changed, 46 insertions, 37 deletions
diff --git a/common/Unit.cpp b/common/Unit.cpp index 2b6f0e09c6..1e92d0652d 100644 --- a/common/Unit.cpp +++ b/common/Unit.cpp @@ -131,7 +131,7 @@ bool UnitBase::isUnitTesting() return Global && Global->_dlHandle; } -void UnitBase::setTimeout(int timeoutMilliSeconds) +void UnitBase::setTimeout(std::chrono::milliseconds timeoutMilliSeconds) { assert(!TimeoutThreadRunning); _timeoutMilliSeconds = timeoutMilliSeconds; @@ -141,7 +141,7 @@ UnitBase::UnitBase() : _dlHandle(nullptr), _setRetValue(false), _retValue(0), - _timeoutMilliSeconds(30 * 1000), + _timeoutMilliSeconds(std::chrono::seconds(30)), _type(UnitType::Wsd) { } diff --git a/common/Unit.hpp b/common/Unit.hpp index 69937051ae..ecebfda66f 100644 --- a/common/Unit.hpp +++ b/common/Unit.hpp @@ -9,6 +9,7 @@ #include <atomic> #include <cassert> +#include <chrono> #include <memory> #include <string> @@ -59,7 +60,7 @@ class UnitBase protected: // ---------------- Helper API ---------------- /// After this time we invoke 'timeout' default 30 seconds - void setTimeout(int timeoutMilliSeconds); + void setTimeout(std::chrono::milliseconds timeoutMilliSeconds); enum class TestResult { @@ -143,7 +144,7 @@ public: /// If the test times out this gets invoked, the default just exits. virtual void timeout(); - int getTimeoutMilliSeconds() const + std::chrono::milliseconds getTimeoutMilliSeconds() const { return _timeoutMilliSeconds; } @@ -167,7 +168,7 @@ private: static char *UnitLibPath; bool _setRetValue; int _retValue; - int _timeoutMilliSeconds; + std::chrono::milliseconds _timeoutMilliSeconds; static UnitBase *Global; UnitType _type; }; diff --git a/test/UnitAdmin.cpp b/test/UnitAdmin.cpp index 7d9c3c914e..90cdd33f39 100644 --- a/test/UnitAdmin.cpp +++ b/test/UnitAdmin.cpp @@ -406,7 +406,7 @@ public: UnitAdmin() : _uri(helpers::getTestServerURI() + "/loleaflet/dist/admin/admin.html") { - setTimeout(60 * 1000); + setTimeout(std::chrono::seconds(60)); // Register tests here. _tests.push_back(&UnitAdmin::testIncorrectPassword); diff --git a/test/UnitClient.cpp b/test/UnitClient.cpp index e2e2892e43..ff9a82a89b 100644 --- a/test/UnitClient.cpp +++ b/test/UnitClient.cpp @@ -26,8 +26,8 @@ public: UnitClient() : _workerStarted(false) { - int timeout_minutes = 5; - setTimeout(timeout_minutes * 60 * 1000); + constexpr std::chrono::minutes timeout_minutes(5); + setTimeout(timeout_minutes); } ~UnitClient() { diff --git a/test/UnitClose.cpp b/test/UnitClose.cpp index a89f7e024c..edca44b83e 100644 --- a/test/UnitClose.cpp +++ b/test/UnitClose.cpp @@ -5,6 +5,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +#include <chrono> #include <memory> #include <ostream> #include <set> @@ -210,8 +211,8 @@ UnitBase::TestResult UnitClose::testAlertAllUsers() UnitClose::UnitClose() { - int timeout_minutes = 2; - setTimeout(timeout_minutes * 60 * 1000); + constexpr std::chrono::minutes timeout_minutes(2); + setTimeout(timeout_minutes); } void UnitClose::invokeTest() diff --git a/test/UnitConvert.cpp b/test/UnitConvert.cpp index 0260a1ae40..3edb0cfcf9 100644 --- a/test/UnitConvert.cpp +++ b/test/UnitConvert.cpp @@ -35,8 +35,9 @@ public: _workerStarted(false) { setHasKitHooks(); - setTimeout(3600 * 1000); /* one hour */ + setTimeout(std::chrono::hours(1)); } + ~UnitConvert() { LOG_INF("Joining test worker thread\n"); @@ -111,7 +112,7 @@ class UnitKitConvert : public UnitKit public: UnitKitConvert() { - setTimeout(3600 * 1000); /* one hour */ + setTimeout(std::chrono::hours(1)); } }; diff --git a/test/UnitEachView.cpp b/test/UnitEachView.cpp index 13867445ec..161f1354f8 100644 --- a/test/UnitEachView.cpp +++ b/test/UnitEachView.cpp @@ -160,7 +160,7 @@ UnitBase::TestResult UnitEachView::testGraphicViewSelectionImpress() UnitEachView::UnitEachView() { // 8 times larger then the default. - setTimeout(240 * 1000); + setTimeout(std::chrono::seconds(240)); } void UnitEachView::invokeTest() diff --git a/test/UnitFuzz.cpp b/test/UnitFuzz.cpp index dafbcba2f5..6a4db64fc9 100644 --- a/test/UnitFuzz.cpp +++ b/test/UnitFuzz.cpp @@ -32,7 +32,7 @@ public: { std::cerr << "\n\nYour WSD process is being randomly fuzzed\n\n\n"; setHasKitHooks(); - setTimeout(3600 * 1000); /* one hour */ + setTimeout(std::chrono::hours(1)); } std::string corruptString(const std::string &str) @@ -122,7 +122,7 @@ public: UnitKitFuzz() { std::cerr << "\n\nYour KIT process has fuzzing hooks\n\n\n"; - setTimeout(3600 * 1000); /* one hour */ + setTimeout(std::chrono::hours(1)); } virtual bool filterKitMessage(WebSocketHandler *, std::string & /* message */) override { diff --git a/test/UnitLoadTorture.cpp b/test/UnitLoadTorture.cpp index 6b54716184..7b6127f1c0 100644 --- a/test/UnitLoadTorture.cpp +++ b/test/UnitLoadTorture.cpp @@ -197,8 +197,8 @@ UnitBase::TestResult UnitLoadTorture::testLoadTorture() UnitLoadTorture::UnitLoadTorture() { // Double of the default. - int timeout_minutes = 1; - setTimeout(timeout_minutes * 60 * 1000); + constexpr std::chrono::minutes timeout_minutes(1); + setTimeout(timeout_minutes); } void UnitLoadTorture::invokeTest() diff --git a/test/UnitPrefork.cpp b/test/UnitPrefork.cpp index 916c5fce07..12d4c02cc3 100644 --- a/test/UnitPrefork.cpp +++ b/test/UnitPrefork.cpp @@ -22,7 +22,7 @@ public: UnitPrefork() : _childSockets(0) { - setTimeout(60 * 1000); + setTimeout(std::chrono::seconds(60)); } virtual void configure(Poco::Util::LayeredConfiguration& config) override diff --git a/test/UnitTimeout.cpp b/test/UnitTimeout.cpp index d575f6244b..e5270794a5 100644 --- a/test/UnitTimeout.cpp +++ b/test/UnitTimeout.cpp @@ -5,6 +5,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +#include <chrono> #include <config.h> #include <cassert> @@ -21,13 +22,15 @@ public: UnitTimeout() : _timedOut(false) { - setTimeout(10); + setTimeout(std::chrono::milliseconds(10)); } + virtual void timeout() override { _timedOut = true; UnitBase::timeout(); } + virtual void returnValue(int & retValue) override { if (!_timedOut) diff --git a/test/UnitTyping.cpp b/test/UnitTyping.cpp index 441a691179..7f7e69ae41 100644 --- a/test/UnitTyping.cpp +++ b/test/UnitTyping.cpp @@ -33,9 +33,10 @@ public: UnitTyping() : _workerStarted(false) { - int timeout_minutes = 5; - setTimeout(timeout_minutes * 60 * 1000); + constexpr std::chrono::minutes timeout_minutes(5); + setTimeout(timeout_minutes); } + ~UnitTyping() { LOG_INF("Joining test worker thread\n"); diff --git a/wsd/LOOLWSD.cpp b/wsd/LOOLWSD.cpp index 52c9625a21..fbdda9c6f1 100644 --- a/wsd/LOOLWSD.cpp +++ b/wsd/LOOLWSD.cpp @@ -205,7 +205,7 @@ static std::mutex DocBrokersMutex; extern "C" { void dump_state(void); /* easy for gdb */ } #if ENABLE_DEBUG -static int careerSpanMs = 0; +static std::chrono::milliseconds careerSpanMs(std::chrono::milliseconds::zero()); #endif /// The timeout for a child to spawn, initially high, then reset to the default. @@ -1631,7 +1631,7 @@ void LOOLWSD::handleOption(const std::string& optionName, else if (optionName == "unitlib") UnitTestLibrary = value; else if (optionName == "careerspan") - careerSpanMs = std::stoi(value) * 1000; // Convert second to ms + careerSpanMs = std::chrono::seconds(std::stoi(value)); // Convert second to ms else if (optionName == "singlekit") { SingleKit = true; @@ -4000,25 +4000,28 @@ int LOOLWSD::innerMain() UnitWSD::get().invokeTest(); // This timeout affects the recovery time of prespawned children. - const long waitMicroS = UnitWSD::isUnitTesting() ? - static_cast<long>(UnitWSD::get().getTimeoutMilliSeconds()) * 1000 / 4 : - SocketPoll::DefaultPollTimeoutMicroS * 4; + const long waitMicroS + = UnitWSD::isUnitTesting() + ? std::chrono::microseconds(UnitWSD::get().getTimeoutMilliSeconds()).count() / 4 + : std::chrono::microseconds(SocketPoll::DefaultPollTimeoutMicroS * 4).count(); mainWait.poll(waitMicroS); // Wake the prisoner poll to spawn some children, if necessary. PrisonerPoll.wakeup(); - const std::chrono::milliseconds::rep timeSinceStartMs = std::chrono::duration_cast<std::chrono::milliseconds>( - std::chrono::steady_clock::now() - startStamp).count(); + const std::chrono::milliseconds timeSinceStartMs + = std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::steady_clock::now() + - startStamp); // Unit test timeout if (timeSinceStartMs > UnitWSD::get().getTimeoutMilliSeconds()) UnitWSD::get().timeout(); #if ENABLE_DEBUG && !MOBILEAPP - if (careerSpanMs > 0 && timeSinceStartMs > careerSpanMs) + if (careerSpanMs > std::chrono::milliseconds::zero() && timeSinceStartMs > careerSpanMs) { - LOG_INF(timeSinceStartMs << " milliseconds gone, finishing as requested. Setting ShutdownRequestFlag."); + LOG_INF(timeSinceStartMs + << " gone, finishing as requested. Setting ShutdownRequestFlag."); SigUtil::requestShutdown(); } #endif diff --git a/wsd/Storage.hpp b/wsd/Storage.hpp index 7b636bd391..1baea46a50 100644 --- a/wsd/Storage.hpp +++ b/wsd/Storage.hpp @@ -370,13 +370,12 @@ private: class WopiStorage : public StorageBase { public: - WopiStorage(const Poco::URI& uri, - const std::string& localStorePath, - const std::string& jailPath) : - StorageBase(uri, localStorePath, jailPath), - _wopiLoadDuration(0), - _wopiSaveDuration(0), - _reuseCookies(false) + WopiStorage(const Poco::URI& uri, const std::string& localStorePath, + const std::string& jailPath) + : StorageBase(uri, localStorePath, jailPath) + , _wopiLoadDuration(std::chrono::milliseconds::zero()) + , _wopiSaveDuration(std::chrono::milliseconds::zero()) + , _reuseCookies(false) { const auto& app = Poco::Util::Application::instance(); _reuseCookies = app.config().getBool("storage.wopi.reuse_cookies", false); |