diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-02-17 16:06:20 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2022-02-18 09:43:23 +0000 |
commit | 551674b5d16963a63d019c23c191b9fbaa2288e2 (patch) | |
tree | 2bb0f37caf62eca4c01b940f4d59358d7eb82763 /config/src/tests/frt/frt.cpp | |
parent | 52d6a2d5221c4a4f7aafad8c771704388621ce50 (diff) |
Unify on using vespalib::duration.
Diffstat (limited to 'config/src/tests/frt/frt.cpp')
-rw-r--r-- | config/src/tests/frt/frt.cpp | 70 |
1 files changed, 18 insertions, 52 deletions
diff --git a/config/src/tests/frt/frt.cpp b/config/src/tests/frt/frt.cpp index 0a0c3262b84..e590aebaf76 100644 --- a/config/src/tests/frt/frt.cpp +++ b/config/src/tests/frt/frt.cpp @@ -3,7 +3,6 @@ #include "config-my.h" #include "config-bar.h" #include <vespa/vespalib/testkit/test_kit.h> -#include <vespa/config/common/iconfigholder.h> #include <vespa/config/common/trace.h> #include <vespa/config/common/configdefinition.h> #include <vespa/config/frt/connection.h> @@ -30,32 +29,6 @@ using namespace config::protocol::v3; namespace { - struct UpdateFixture : public IConfigHolder { - std::unique_ptr<ConfigUpdate> update; - bool notified; - - UpdateFixture() - : update(), - notified(false) - { } - std::unique_ptr<ConfigUpdate> provide() override { return std::unique_ptr<ConfigUpdate>(); } - void handle(std::unique_ptr<ConfigUpdate> u) override { update = std::move(u); } - bool wait(milliseconds timeoutInMillis) override { (void) timeoutInMillis; return notified; } - bool poll() override { return notified; } - void interrupt() override { } - - bool waitUntilResponse(vespalib::duration timeout) - { - vespalib::Timer timer; - while (timer.elapsed() < timeout) { - if (notified) - break; - std::this_thread::sleep_for(100ms); - } - return notified; - } - }; - struct RPCFixture { std::vector<FRT_RPCRequest *> requests; @@ -108,17 +81,9 @@ namespace { } }; - - struct MyAbortHandler : public FRT_IAbortHandler - { - bool aborted; - MyAbortHandler() : aborted(false) { } - bool HandleAbort() override { aborted = true; return true; } - }; - struct ConnectionMock : public Connection { int errorCode; - int timeout; + duration timeout; FRT_RPCRequest * ans; fnet::frt::StandaloneFRT server; FRT_Supervisor & supervisor; @@ -128,21 +93,21 @@ namespace { ~ConnectionMock(); FRT_RPCRequest * allocRPCRequest() override { return supervisor.AllocRPCRequest(); } void setError(int ec) override { errorCode = ec; } - void invoke(FRT_RPCRequest * req, double t, FRT_IRequestWait * waiter) override + void invoke(FRT_RPCRequest * req, duration t, FRT_IRequestWait * waiter) override { - timeout = static_cast<int>(t); + timeout = t; if (ans != nullptr) waiter->RequestDone(ans); else waiter->RequestDone(req); } const vespalib::string & getAddress() const override { return address; } - void setTransientDelay(int64_t delay) override { (void) delay; } + void setTransientDelay(duration delay) override { (void) delay; } }; ConnectionMock::ConnectionMock(FRT_RPCRequest * answer) : errorCode(0), - timeout(0), + timeout(0ms), ans(answer), server(), supervisor(server.supervisor()), @@ -152,7 +117,8 @@ namespace { struct FactoryMock : public ConnectionFactory { ConnectionMock * current; - FactoryMock(ConnectionMock * c) : current(c) { } + FactoryMock(ConnectionMock * c) noexcept : current(c) { } + ~FactoryMock() = default; Connection * getCurrent() override { return current; } @@ -164,10 +130,10 @@ namespace { struct AgentResultFixture { bool notified; - uint64_t waitTime; - uint64_t timeout; + duration waitTime; + duration timeout; ConfigState state; - AgentResultFixture(uint64_t w, uint64_t t) + AgentResultFixture(duration w, duration t) : notified(false), waitTime(w), timeout(t), @@ -185,8 +151,8 @@ namespace { } const ConfigState & getConfigState() const override { return result->state; } - uint64_t getWaitTime () const override { return result->waitTime; } - uint64_t getTimeout() const override { return result->timeout; } + duration getWaitTime () const override { return result->waitTime; } + duration getTimeout() const override { return result->timeout; } void handleResponse(const ConfigRequest & request, ConfigResponse::UP response) override { (void) request; @@ -219,11 +185,11 @@ namespace { FRTSource src; FRTFixture(SourceFixture & f1) - : result(2000, 10000), + : result(2s, 10s), requestFactory(3, VespaVersion::fromString("1.2.3"), CompressionType::UNCOMPRESSED), - src(ConnectionFactory::SP(new FactoryMock(&f1.conn)), + src(std::make_shared<FactoryMock>(&f1.conn), requestFactory, - ConfigAgent::UP(new AgentFixture(&result)), + std::make_unique<AgentFixture>(&result), f1.key) { } }; @@ -273,7 +239,7 @@ TEST("require that v3 request is correctly initialized") { vespalib::string xxhash64 = "myxxhash64"; int64_t currentGeneration = 3; vespalib::string hostName = "myhost"; - int64_t timeout = 3000; + duration timeout = 3s; Trace traceIn(3); traceIn.trace(2, "Hei"); FRTConfigRequestV3 v3req(&conn, key, xxhash64, currentGeneration, hostName, @@ -300,7 +266,7 @@ TEST("require that v3 request is correctly initialized") { EXPECT_EQUAL(hostName, root[REQUEST_CLIENT_HOSTNAME].asString().make_string()); EXPECT_EQUAL(currentGeneration, root[REQUEST_CURRENT_GENERATION].asLong()); EXPECT_EQUAL(xxhash64, root[REQUEST_CONFIG_XXHASH64].asString().make_string()); - EXPECT_EQUAL(timeout, root[REQUEST_TIMEOUT].asLong()); + EXPECT_EQUAL(count_ms(timeout), root[REQUEST_TIMEOUT].asLong()); EXPECT_EQUAL("LZ4", root[REQUEST_COMPRESSION_TYPE].asString().make_string()); EXPECT_EQUAL(root[REQUEST_VESPA_VERSION].asString().make_string(), "1.2.3"); Trace trace; @@ -308,7 +274,7 @@ TEST("require that v3 request is correctly initialized") { EXPECT_TRUE(trace.shouldTrace(2)); EXPECT_TRUE(trace.shouldTrace(3)); EXPECT_FALSE(trace.shouldTrace(4)); - EXPECT_EQUAL(timeout, root[REQUEST_TIMEOUT].asLong()); + EXPECT_EQUAL(count_ms(timeout), root[REQUEST_TIMEOUT].asLong()); ConfigDefinition def; def.deserialize(root[REQUEST_DEF_CONTENT]); EXPECT_EQUAL(origDef.asString(), def.asString()); |