summaryrefslogtreecommitdiffstats
path: root/logd/src/tests
diff options
context:
space:
mode:
authorGeir Storli <geirst@verizonmedia.com>2019-05-09 11:54:17 +0000
committerGeir Storli <geirst@verizonmedia.com>2019-05-09 11:54:17 +0000
commit46885b2f72030a887c2787858929c8ed088fdaaf (patch)
tree0ddbd1f8466d86d750b50c0916fddab16040e269 /logd/src/tests
parent72db80647f7b9e6dab491dc6634b1bd477cf59cd (diff)
Remove the legacy protocol between logd and logserver.
The RPC protocol has been the new default since 2019-04-12.
Diffstat (limited to 'logd/src/tests')
-rw-r--r--logd/src/tests/empty_forwarder/.gitignore3
-rw-r--r--logd/src/tests/empty_forwarder/CMakeLists.txt9
-rw-r--r--logd/src/tests/empty_forwarder/empty_forwarder_test.cpp59
-rw-r--r--logd/src/tests/legacy_forwarder/.gitignore5
-rw-r--r--logd/src/tests/legacy_forwarder/CMakeLists.txt8
-rw-r--r--logd/src/tests/legacy_forwarder/legacy_forwarder_test.cpp74
-rw-r--r--logd/src/tests/watcher/watcher_test.cpp3
7 files changed, 71 insertions, 90 deletions
diff --git a/logd/src/tests/empty_forwarder/.gitignore b/logd/src/tests/empty_forwarder/.gitignore
new file mode 100644
index 00000000000..266a9726498
--- /dev/null
+++ b/logd/src/tests/empty_forwarder/.gitignore
@@ -0,0 +1,3 @@
+.depend
+Makefile
+logd_empty_forwarder_test_app
diff --git a/logd/src/tests/empty_forwarder/CMakeLists.txt b/logd/src/tests/empty_forwarder/CMakeLists.txt
new file mode 100644
index 00000000000..4c4ab8efa40
--- /dev/null
+++ b/logd/src/tests/empty_forwarder/CMakeLists.txt
@@ -0,0 +1,9 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+vespa_add_executable(logd_empty_forwarder_test_app TEST
+ SOURCES
+ empty_forwarder_test.cpp
+ DEPENDS
+ logd
+ gtest
+)
+vespa_add_test(NAME logd_empty_forwarder_test_app COMMAND logd_empty_forwarder_test_app)
diff --git a/logd/src/tests/empty_forwarder/empty_forwarder_test.cpp b/logd/src/tests/empty_forwarder/empty_forwarder_test.cpp
new file mode 100644
index 00000000000..d1194f30c40
--- /dev/null
+++ b/logd/src/tests/empty_forwarder/empty_forwarder_test.cpp
@@ -0,0 +1,59 @@
+// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
+#include <logd/empty_forwarder.h>
+#include <logd/metrics.h>
+#include <vespa/log/log.h>
+#include <vespa/vespalib/metrics/dummy_metrics_manager.h>
+#include <vespa/vespalib/gtest/gtest.h>
+
+using namespace logdemon;
+using vespalib::metrics::DummyMetricsManager;
+
+struct MockMetricsManager : public DummyMetricsManager {
+ int add_count;
+ MockMetricsManager() : DummyMetricsManager(), add_count(0) {}
+ void add(Counter::Increment) override {
+ ++add_count;
+ }
+};
+
+std::string
+make_log_line(const std::string& level, const std::string& payload)
+{
+ return "1234.5678\tmy_host\t10/20\tmy_service\tmy_component\t" + level + "\t" + payload;
+}
+
+struct EmptyForwarderTest : public ::testing::Test {
+ std::shared_ptr<MockMetricsManager> metrics_mgr;
+ Metrics metrics;
+ EmptyForwarder forwarder;
+
+ EmptyForwarderTest()
+ : metrics_mgr(std::make_shared<MockMetricsManager>()),
+ metrics(metrics_mgr),
+ forwarder(metrics) {
+ }
+
+ void forward_line(const std::string &payload) {
+ forwarder.forwardLine(make_log_line("info", payload));
+ }
+ void forward_bad_line() {
+ forwarder.forwardLine("badline");
+ }
+};
+
+TEST_F(EmptyForwarderTest, bad_log_lines_are_counted)
+{
+ forward_bad_line();
+ EXPECT_EQ(1, forwarder.badLines());
+}
+
+TEST_F(EmptyForwarderTest, metrics_are_updated_for_each_log_message)
+{
+ forward_line("a");
+ EXPECT_EQ(1, metrics_mgr->add_count);
+ forward_line("b");
+ EXPECT_EQ(2, metrics_mgr->add_count);
+}
+
+GTEST_MAIN_RUN_ALL_TESTS()
diff --git a/logd/src/tests/legacy_forwarder/.gitignore b/logd/src/tests/legacy_forwarder/.gitignore
deleted file mode 100644
index a6c6ba525b6..00000000000
--- a/logd/src/tests/legacy_forwarder/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-/.depend
-/Makefile
-/forward.txt
-/forward_test
-logd_forward_test_app
diff --git a/logd/src/tests/legacy_forwarder/CMakeLists.txt b/logd/src/tests/legacy_forwarder/CMakeLists.txt
deleted file mode 100644
index 3dba5c76f52..00000000000
--- a/logd/src/tests/legacy_forwarder/CMakeLists.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-vespa_add_executable(logd_legacy_forwarder_test_app TEST
- SOURCES
- legacy_forwarder_test.cpp
- DEPENDS
- logd
-)
-vespa_add_test(NAME logd_legacy_forwarder_test_app COMMAND logd_legacy_forwarder_test_app)
diff --git a/logd/src/tests/legacy_forwarder/legacy_forwarder_test.cpp b/logd/src/tests/legacy_forwarder/legacy_forwarder_test.cpp
deleted file mode 100644
index 67d47a49384..00000000000
--- a/logd/src/tests/legacy_forwarder/legacy_forwarder_test.cpp
+++ /dev/null
@@ -1,74 +0,0 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include <logd/legacy_forwarder.h>
-#include <logd/metrics.h>
-#include <vespa/fastos/time.h>
-#include <vespa/log/log.h>
-#include <vespa/vespalib/metrics/dummy_metrics_manager.h>
-#include <vespa/vespalib/testkit/testapp.h>
-#include <fcntl.h>
-#include <sstream>
-#include <unistd.h>
-
-using ns_log::Logger;
-using namespace logdemon;
-
-std::shared_ptr<vespalib::metrics::MetricsManager> dummy = vespalib::metrics::DummyMetricsManager::create();
-Metrics m(dummy);
-
-struct ForwardFixture {
- LegacyForwarder::UP forwarder;
- int fd;
- const std::string fname;
- const std::string logLine;
- ForwardFixture(const std::string& fileName)
- : forwarder(),
- fd(-1),
- fname(fileName),
- logLine(createLogLine())
- {
- fd = open(fileName.c_str(), O_CREAT | O_TRUNC | O_WRONLY, 0777);
- }
- ~ForwardFixture() {
- }
-
- void make_forwarder(const ForwardMap& forwarder_filter) {
- forwarder = LegacyForwarder::to_open_file(m, forwarder_filter, fd);
- }
-
- const std::string createLogLine() {
- FastOS_Time timer;
- timer.SetNow();
- std::stringstream ss;
- ss << std::fixed << timer.Secs();
- ss << "\texample.yahoo.com\t7518/34779\tlogd\tlogdemon\tevent\tstarted/1 name=\"logdemon\"";
- return ss.str();
- }
-
- void verifyForward(bool doForward) {
- forwarder->forwardLine(logLine);
- fsync(fd);
- int rfd = open(fname.c_str(), O_RDONLY);
- char *buffer[2048];
- ssize_t bytes = read(rfd, buffer, 2048);
- ssize_t expected = doForward ? logLine.length() + 1 : 0;
- EXPECT_EQUAL(expected, bytes);
- close(rfd);
- }
-};
-
-
-TEST_F("require that forwarder forwards if set", ForwardFixture("forward.txt")) {
- ForwardMap forward_filter;
- forward_filter[Logger::event] = true;
- f1.make_forwarder(forward_filter);
- f1.verifyForward(true);
-}
-
-TEST_F("require that forwarder does not forward if not set", ForwardFixture("forward.txt")) {
- ForwardMap forward_filter;
- forward_filter[Logger::event] = false;
- f1.make_forwarder(forward_filter);
- f1.verifyForward(false);
-}
-
-TEST_MAIN() { TEST_RUN_ALL(); }
diff --git a/logd/src/tests/watcher/watcher_test.cpp b/logd/src/tests/watcher/watcher_test.cpp
index fffaac17058..9f7c476e101 100644
--- a/logd/src/tests/watcher/watcher_test.cpp
+++ b/logd/src/tests/watcher/watcher_test.cpp
@@ -57,18 +57,15 @@ ConfigFixture::~ConfigFixture() = default;
struct DummyForwarder : public Forwarder {
std::mutex lock;
std::condition_variable cond;
- std::atomic<int> sendModeCount;
std::vector<std::string> lines;
DummyForwarder()
: Forwarder(),
lock(),
cond(),
- sendModeCount(0),
lines()
{
}
~DummyForwarder() override = default;
- void sendMode() override { ++sendModeCount; }
void forwardLine(std::string_view log_line) override {
std::lock_guard guard(lock);
lines.emplace_back(log_line);