diff options
-rw-r--r-- | tests/sockets/test_sockets_select_server_down_client.c (renamed from tests/sockets/test_sockets_select_server_no_accept_client.c) | 0 | ||||
-rw-r--r-- | tests/sockets/test_sockets_select_server_down_server.c (renamed from tests/sockets/test_sockets_select_server_no_accept_server.c) | 41 | ||||
-rw-r--r-- | tests/test_sockets.py | 7 |
3 files changed, 10 insertions, 38 deletions
diff --git a/tests/sockets/test_sockets_select_server_no_accept_client.c b/tests/sockets/test_sockets_select_server_down_client.c index e05bd4c8..e05bd4c8 100644 --- a/tests/sockets/test_sockets_select_server_no_accept_client.c +++ b/tests/sockets/test_sockets_select_server_down_client.c diff --git a/tests/sockets/test_sockets_select_server_no_accept_server.c b/tests/sockets/test_sockets_select_server_down_server.c index 4a399ed1..c2e70f33 100644 --- a/tests/sockets/test_sockets_select_server_no_accept_server.c +++ b/tests/sockets/test_sockets_select_server_down_server.c @@ -14,38 +14,13 @@ #include <emscripten.h> #endif -int serverfd = -1; - -void iter(void *arg) { - int res; - fd_set fdr; - fd_set fdw; - - // see if there are any connections to accept / write to - FD_ZERO(&fdr); - FD_ZERO(&fdw); - FD_SET(serverfd, &fdr); - if (clientfd != -1) FD_SET(clientfd, &fdw); - res = select(64, &fdr, &fdw, NULL, NULL); - if (res == -1) { - perror("select failed"); - exit(EXIT_SUCCESS); - } - - if (FD_ISSET(serverfd, &fdr)) { - printf("accepted someone\n"); - clientfd = accept(serverfd, NULL, NULL); - assert(clientfd != -1); - } - - if (FD_ISSET(clientfd, &fdw)) { - do_send(clientfd); - } +void main_loop(void *arg) { } int main() { struct sockaddr_in addr; int res; + int serverfd; // create the socket serverfd = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); @@ -55,7 +30,7 @@ int main() { } fcntl(serverfd, F_SETFL, O_NONBLOCK); - // bind and listen to the supplied port + // bind to the supplied port memset(&addr, 0, sizeof(addr)); addr.sin_family = AF_INET; addr.sin_port = htons(SOCKK); @@ -70,16 +45,12 @@ int main() { exit(EXIT_FAILURE); } - res = listen(serverfd, 50); - if (res == -1) { - perror("listen failed"); - exit(EXIT_FAILURE); - } + close(serverfd); #if EMSCRIPTEN - emscripten_set_main_loop(iter, 60, 0); + emscripten_set_main_loop(main_loop, 60, 0); #else - while (1) iter(NULL); + while (1) main_loop(NULL); sleep(1); #endif return EXIT_SUCCESS; diff --git a/tests/test_sockets.py b/tests/test_sockets.py index 4f6ee2a9..4e8bbd75 100644 --- a/tests/test_sockets.py +++ b/tests/test_sockets.py @@ -142,11 +142,12 @@ class sockets(BrowserCore): # def test_sockets_gethostbyname(self): # self.btest(os.path.join('sockets', 'test_sockets_gethostbyname.c'), expected='0', args=['-O2', '-DSOCKK=8997']) - def test_sockets_select_server_no_accept(self): + def test_sockets_select_server_down(self): for harness in [ - WebsockifyServerHarness(os.path.join('sockets', 'test_sockets_select_server_no_accept_server.c'), ['-DSOCKK=8995'], 8996, 8995) + WebsockifyServerHarness(os.path.join('sockets', 'test_sockets_select_server_down_server.c'), ['-DSOCKK=9002'], 9003, 9002) ]: - self.btest(os.path.join('sockets', 'test_sockets_select_server_no_accept_client.c'), expected='266', args=['-DSOCKK=8996']) + with harness: + self.btest(os.path.join('sockets', 'test_sockets_select_server_down_client.c'), expected='266', args=['-DSOCKK=9003']) def test_sockets_select_server_closes_connection_rw(self): sockets_include = '-I'+path_from_root('tests', 'sockets') |