diff --git a/tests/SimpleDiskAndNetworkTest.cpp b/tests/SimpleDiskAndNetworkTest.cpp
index f9caa677719e848b6c71099e557f6418ff145452..cf5ec5036c7a698769eac274d98abc5c2cf396e1 100644
--- a/tests/SimpleDiskAndNetworkTest.cpp
+++ b/tests/SimpleDiskAndNetworkTest.cpp
@@ -23,33 +23,7 @@
 
 #define PORT 4243
 #define MAX 1024
-static void server_func() {
-	int sockfd;
-	struct sockaddr_in servaddr;
-
-	// socket create and varification
-	sockfd = socket(AF_INET, SOCK_STREAM, 0);
-	if (sockfd == -1) {
-		DIE_MSG_ERRNO("socket creation failed");
-	}
-	memset(&servaddr, 0, sizeof(servaddr));
-
-	// assign IP, PORT
-	servaddr.sin_family = AF_INET;
-	servaddr.sin_addr.s_addr = inet_addr("127.0.0.1");
-	servaddr.sin_port = htons(PORT);
-
-	int reuseaddr = 1;
-	if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &reuseaddr, sizeof(reuseaddr)) == -1) {
-		DIE_MSG_ERRNO("setsockopt failed");
-	}
-	if (bind(sockfd, (sockaddr*)&servaddr, sizeof(servaddr)) == -1) {
-		DIE_MSG_ERRNO("bind failed");
-	}
-	if (listen(sockfd, 1) != 0) {
-		DIE_MSG_ERRNO("listen failed");
-	}
-
+static void server_func(int sockfd) {
 	struct sockaddr_in clientaddr;
 	socklen_t clientaddr_len = sizeof(clientaddr);
 	auto client_fd =
@@ -164,8 +138,34 @@ static void server_func() {
 }
 
 void emperTest() {
+	int sockfd;
+	struct sockaddr_in servaddr;
+
+	// socket creation and verification
+	sockfd = socket(AF_INET, SOCK_STREAM, 0);
+	if (sockfd == -1) {
+		DIE_MSG_ERRNO("socket creation failed");
+	}
+	memset(&servaddr, 0, sizeof(servaddr));
+
+	// assign IP, PORT
+	servaddr.sin_family = AF_INET;
+	servaddr.sin_addr.s_addr = inet_addr("127.0.0.1");
+	servaddr.sin_port = htons(PORT);
+
+	int reuseaddr = 1;
+	if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &reuseaddr, sizeof(reuseaddr)) == -1) {
+		DIE_MSG_ERRNO("setsockopt failed");
+	}
+	if (bind(sockfd, (sockaddr*)&servaddr, sizeof(servaddr)) == -1) {
+		DIE_MSG_ERRNO("bind failed");
+	}
+	if (listen(sockfd, 1) != 0) {
+		DIE_MSG_ERRNO("listen failed");
+	}
+
 	CPS cps;
-	spawn(server_func, cps);
+	spawn([=] { server_func(sockfd); }, cps);
 
 	spawn(
 			[] {