summaryrefslogtreecommitdiffstats
path: root/fnet/src/tests/printstuff
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@yahoo-inc.com>2016-06-15 23:09:44 +0200
committerJon Bratseth <bratseth@yahoo-inc.com>2016-06-15 23:09:44 +0200
commit72231250ed81e10d66bfe70701e64fa5fe50f712 (patch)
tree2728bba1131a6f6e5bdf95afec7d7ff9358dac50 /fnet/src/tests/printstuff
Publish
Diffstat (limited to 'fnet/src/tests/printstuff')
-rw-r--r--fnet/src/tests/printstuff/.gitignore1
-rw-r--r--fnet/src/tests/printstuff/CMakeLists.txt8
-rw-r--r--fnet/src/tests/printstuff/FILES1
-rw-r--r--fnet/src/tests/printstuff/printstuff_test.cpp45
4 files changed, 55 insertions, 0 deletions
diff --git a/fnet/src/tests/printstuff/.gitignore b/fnet/src/tests/printstuff/.gitignore
new file mode 100644
index 00000000000..bfb8f2d1754
--- /dev/null
+++ b/fnet/src/tests/printstuff/.gitignore
@@ -0,0 +1 @@
+fnet_printstuff_test_app
diff --git a/fnet/src/tests/printstuff/CMakeLists.txt b/fnet/src/tests/printstuff/CMakeLists.txt
new file mode 100644
index 00000000000..7180d2866f0
--- /dev/null
+++ b/fnet/src/tests/printstuff/CMakeLists.txt
@@ -0,0 +1,8 @@
+# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+vespa_add_executable(fnet_printstuff_test_app
+ SOURCES
+ printstuff_test.cpp
+ DEPENDS
+ fnet
+)
+vespa_add_test(NAME fnet_printstuff_test_app COMMAND fnet_printstuff_test_app)
diff --git a/fnet/src/tests/printstuff/FILES b/fnet/src/tests/printstuff/FILES
new file mode 100644
index 00000000000..95a889d6494
--- /dev/null
+++ b/fnet/src/tests/printstuff/FILES
@@ -0,0 +1 @@
+printstuff_test.cpp
diff --git a/fnet/src/tests/printstuff/printstuff_test.cpp b/fnet/src/tests/printstuff/printstuff_test.cpp
new file mode 100644
index 00000000000..3778cef9c8c
--- /dev/null
+++ b/fnet/src/tests/printstuff/printstuff_test.cpp
@@ -0,0 +1,45 @@
+// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include <vespa/vespalib/testkit/test_kit.h>
+#include <vespa/fnet/frt/frt.h>
+
+void printError(uint32_t ecode) {
+ fprintf(stderr, "error(%u): %s: %s\n",
+ ecode, FRT_GetErrorCodeName(ecode), FRT_GetDefaultErrorMessage(ecode));
+}
+
+TEST("frt error code names and default messages") {
+ printError(0);
+ printError(99);
+ for (uint32_t i = 100; i < 112; ++i) {
+ printError(i);
+ }
+ printError(198);
+ printError(199);
+ printError(200);
+ printError(70000);
+}
+
+TEST("rpc packets in a queue") {
+ FRT_RPCRequest *req = new FRT_RPCRequest();
+ {
+ req->SetMethodName("foo");
+ FNET_PacketQueue_NoLock q1(1, FNET_IPacketHandler::FNET_KEEP_CHANNEL);
+ q1.QueuePacket_NoLock(new (req->GetMemoryTub()) FRT_RPCRequestPacket(req, 0, false), FNET_Context());
+ q1.QueuePacket_NoLock(new (req->GetMemoryTub()) FRT_RPCReplyPacket(req, 0, false), FNET_Context());
+ q1.QueuePacket_NoLock(new (req->GetMemoryTub()) FRT_RPCErrorPacket(req, 0, false), FNET_Context());
+ q1.Print();
+ FNET_PacketQueue q2(2, FNET_IPacketHandler::FNET_KEEP_CHANNEL);
+ q2.QueuePacket(new (req->GetMemoryTub()) FRT_RPCRequestPacket(req, 0, false), FNET_Context());
+ q2.QueuePacket(new (req->GetMemoryTub()) FRT_RPCReplyPacket(req, 0, false), FNET_Context());
+ q2.QueuePacket(new (req->GetMemoryTub()) FRT_RPCErrorPacket(req, 0, false), FNET_Context());
+ q2.Print();
+ }
+ req->SubRef();
+}
+
+TEST("info") {
+ FNET_Info::PrintInfo();
+ FNET_Info::LogInfo();
+}
+
+TEST_MAIN() { TEST_RUN_ALL(); }