|
@@ -3368,14 +3368,16 @@ TEST_F(ServerTest, GetMethod200) {
|
|
|
EXPECT_EQ("Hello World!", res->body);
|
|
EXPECT_EQ("Hello World!", res->body);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-TEST(BenchmarkTest, SimpleGetPerformance) {
|
|
|
|
|
|
|
+void performance_test(const char *host) {
|
|
|
|
|
+ auto port = 1234;
|
|
|
|
|
+
|
|
|
Server svr;
|
|
Server svr;
|
|
|
|
|
|
|
|
svr.Get("/benchmark", [&](const Request & /*req*/, Response &res) {
|
|
svr.Get("/benchmark", [&](const Request & /*req*/, Response &res) {
|
|
|
res.set_content("Benchmark Response", "text/plain");
|
|
res.set_content("Benchmark Response", "text/plain");
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
- auto listen_thread = std::thread([&svr]() { svr.listen("localhost", PORT); });
|
|
|
|
|
|
|
+ auto listen_thread = std::thread([&]() { svr.listen(host, port); });
|
|
|
auto se = detail::scope_exit([&] {
|
|
auto se = detail::scope_exit([&] {
|
|
|
svr.stop();
|
|
svr.stop();
|
|
|
listen_thread.join();
|
|
listen_thread.join();
|
|
@@ -3384,7 +3386,7 @@ TEST(BenchmarkTest, SimpleGetPerformance) {
|
|
|
|
|
|
|
|
svr.wait_until_ready();
|
|
svr.wait_until_ready();
|
|
|
|
|
|
|
|
- Client cli("localhost", PORT);
|
|
|
|
|
|
|
+ Client cli(host, port);
|
|
|
|
|
|
|
|
const int NUM_REQUESTS = 50;
|
|
const int NUM_REQUESTS = 50;
|
|
|
const int MAX_AVERAGE_MS = 5;
|
|
const int MAX_AVERAGE_MS = 5;
|
|
@@ -3405,13 +3407,18 @@ TEST(BenchmarkTest, SimpleGetPerformance) {
|
|
|
.count();
|
|
.count();
|
|
|
double avg_ms = static_cast<double>(total_ms) / NUM_REQUESTS;
|
|
double avg_ms = static_cast<double>(total_ms) / NUM_REQUESTS;
|
|
|
|
|
|
|
|
- std::cout << "Standalone: " << NUM_REQUESTS << " requests in " << total_ms
|
|
|
|
|
- << "ms (avg: " << avg_ms << "ms)" << std::endl;
|
|
|
|
|
|
|
+ std::cout << "Peformance test at \"" << host << "\": " << NUM_REQUESTS
|
|
|
|
|
+ << " requests in " << total_ms << "ms (avg: " << avg_ms << "ms)"
|
|
|
|
|
+ << std::endl;
|
|
|
|
|
|
|
|
EXPECT_LE(avg_ms, MAX_AVERAGE_MS)
|
|
EXPECT_LE(avg_ms, MAX_AVERAGE_MS)
|
|
|
- << "Standalone test too slow: " << avg_ms << "ms (Issue #1777)";
|
|
|
|
|
|
|
+ << "Performance is too slow: " << avg_ms << "ms (Issue #1777)";
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+TEST(BenchmarkTest, localhost) { performance_test("localhost"); }
|
|
|
|
|
+
|
|
|
|
|
+TEST(BenchmarkTest, v6) { performance_test("::1"); }
|
|
|
|
|
+
|
|
|
TEST_F(ServerTest, GetEmptyFile) {
|
|
TEST_F(ServerTest, GetEmptyFile) {
|
|
|
auto res = cli_.Get("/empty_file");
|
|
auto res = cli_.Get("/empty_file");
|
|
|
ASSERT_TRUE(res);
|
|
ASSERT_TRUE(res);
|