Loading tests/data/Makefile.am +1 −0 Original line number Diff line number Diff line Loading @@ -93,6 +93,7 @@ test1379 test1380 test1381 test1382 test1383 test1384 test1385 test1386 \ test1387 test1388 test1389 test1390 test1391 test1392 test1393 \ test1400 test1401 test1402 test1403 test1404 test1405 test1406 test1407 \ test1408 test1409 test1410 \ test1500 \ test2000 test2001 test2002 test2003 test2004 test2005 test2006 test2007 \ test2008 test2009 test2010 test2011 test2012 test2013 test2014 test2015 \ test2016 test2017 test2018 test2019 test2020 test2021 test2022 \ Loading tests/data/test1500 0 → 100644 +44 −0 Original line number Diff line number Diff line <testcase> <info> <keywords> HTTP HTTP GET multi </keywords> </info> # Server-side <reply> <data> HTTP/1.1 200 all good! Date: Thu, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Content-Type: text/html Content-Length: 12 Connection: close Hello World </data> </reply> # Client-side <client> <server> http </server> <features> http </features> # tool is what to use instead of 'curl' <tool> lib1500 </tool> <name> curl_multi_wait </name> <command> http://%HOSTIP:%HTTPPORT/1500 </command> </client> </testcase> tests/libtest/.gitignore +1 −0 Original line number Diff line number Diff line chkhostname lib5[0-9][0-9] lib1500 libauthretry libntlmconnect tests/libtest/Makefile.inc +4 −1 Original line number Diff line number Diff line Loading @@ -19,7 +19,8 @@ noinst_PROGRAMS = chkhostname \ lib543 lib544 lib545 lib547 lib548 lib549 lib552 lib553 lib554 lib555 \ lib556 lib539 lib557 lib560 lib562 lib564 lib565 lib566 lib567 lib568 \ lib569 lib570 lib571 lib572 lib573 lib582 lib583 lib585 lib586 lib587 \ lib590 lib591 lib597 lib598 lib599 libauthretry libntlmconnect lib590 lib591 lib597 lib598 lib599 libauthretry libntlmconnect \ lib1500 chkhostname_SOURCES = chkhostname.c $(top_srcdir)/lib/curl_gethostname.c chkhostname_LDADD = @CURL_NETWORK_LIBS@ Loading Loading @@ -186,6 +187,8 @@ lib598_SOURCES = lib598.c $(SUPPORTFILES) lib599_SOURCES = lib599.c $(SUPPORTFILES) lib1500_SOURCES = lib1500.c $(SUPPORTFILES) $(TESTUTIL) libauthretry_SOURCES = libauthretry.c $(SUPPORTFILES) libntlmconnect_SOURCES = libntlmconnect.c $(SUPPORTFILES) $(TESTUTIL) tests/libtest/lib1500.c 0 → 100644 +89 −0 Original line number Diff line number Diff line /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "test.h" #include "testutil.h" #include "warnless.h" #include "memdebug.h" #define TEST_HANG_TIMEOUT 60 * 1000 int test(char *URL) { CURL* curls = NULL; CURLM* multi = NULL; int still_running; int i = -1; int res = 0; CURLMsg *msg; start_test_timing(); global_init(CURL_GLOBAL_ALL); multi_init(multi); easy_init(curls); easy_setopt(curls, CURLOPT_URL, URL); easy_setopt(curls, CURLOPT_HEADER, 1L); multi_add_handle(multi, curls); multi_perform(multi, &still_running); abort_on_test_timeout(); while(still_running) { res = curl_multi_wait(multi, NULL, 0, TEST_HANG_TIMEOUT); if (res != CURLM_OK) { printf("curl_multi_wait() returned %d\n", res); res = -1; goto test_cleanup; } abort_on_test_timeout(); multi_perform(multi, &still_running); abort_on_test_timeout(); } msg = curl_multi_info_read(multi, &still_running); if(msg) /* this should now contain a result code from the easy handle, get it */ i = msg->data.result; test_cleanup: /* undocumented cleanup sequence - type UA */ curl_multi_cleanup(multi); curl_easy_cleanup(curls); curl_global_cleanup(); if(res) i = res; return i; /* return the final return code */ } Loading
tests/data/Makefile.am +1 −0 Original line number Diff line number Diff line Loading @@ -93,6 +93,7 @@ test1379 test1380 test1381 test1382 test1383 test1384 test1385 test1386 \ test1387 test1388 test1389 test1390 test1391 test1392 test1393 \ test1400 test1401 test1402 test1403 test1404 test1405 test1406 test1407 \ test1408 test1409 test1410 \ test1500 \ test2000 test2001 test2002 test2003 test2004 test2005 test2006 test2007 \ test2008 test2009 test2010 test2011 test2012 test2013 test2014 test2015 \ test2016 test2017 test2018 test2019 test2020 test2021 test2022 \ Loading
tests/data/test1500 0 → 100644 +44 −0 Original line number Diff line number Diff line <testcase> <info> <keywords> HTTP HTTP GET multi </keywords> </info> # Server-side <reply> <data> HTTP/1.1 200 all good! Date: Thu, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Content-Type: text/html Content-Length: 12 Connection: close Hello World </data> </reply> # Client-side <client> <server> http </server> <features> http </features> # tool is what to use instead of 'curl' <tool> lib1500 </tool> <name> curl_multi_wait </name> <command> http://%HOSTIP:%HTTPPORT/1500 </command> </client> </testcase>
tests/libtest/.gitignore +1 −0 Original line number Diff line number Diff line chkhostname lib5[0-9][0-9] lib1500 libauthretry libntlmconnect
tests/libtest/Makefile.inc +4 −1 Original line number Diff line number Diff line Loading @@ -19,7 +19,8 @@ noinst_PROGRAMS = chkhostname \ lib543 lib544 lib545 lib547 lib548 lib549 lib552 lib553 lib554 lib555 \ lib556 lib539 lib557 lib560 lib562 lib564 lib565 lib566 lib567 lib568 \ lib569 lib570 lib571 lib572 lib573 lib582 lib583 lib585 lib586 lib587 \ lib590 lib591 lib597 lib598 lib599 libauthretry libntlmconnect lib590 lib591 lib597 lib598 lib599 libauthretry libntlmconnect \ lib1500 chkhostname_SOURCES = chkhostname.c $(top_srcdir)/lib/curl_gethostname.c chkhostname_LDADD = @CURL_NETWORK_LIBS@ Loading Loading @@ -186,6 +187,8 @@ lib598_SOURCES = lib598.c $(SUPPORTFILES) lib599_SOURCES = lib599.c $(SUPPORTFILES) lib1500_SOURCES = lib1500.c $(SUPPORTFILES) $(TESTUTIL) libauthretry_SOURCES = libauthretry.c $(SUPPORTFILES) libntlmconnect_SOURCES = libntlmconnect.c $(SUPPORTFILES) $(TESTUTIL)
tests/libtest/lib1500.c 0 → 100644 +89 −0 Original line number Diff line number Diff line /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "test.h" #include "testutil.h" #include "warnless.h" #include "memdebug.h" #define TEST_HANG_TIMEOUT 60 * 1000 int test(char *URL) { CURL* curls = NULL; CURLM* multi = NULL; int still_running; int i = -1; int res = 0; CURLMsg *msg; start_test_timing(); global_init(CURL_GLOBAL_ALL); multi_init(multi); easy_init(curls); easy_setopt(curls, CURLOPT_URL, URL); easy_setopt(curls, CURLOPT_HEADER, 1L); multi_add_handle(multi, curls); multi_perform(multi, &still_running); abort_on_test_timeout(); while(still_running) { res = curl_multi_wait(multi, NULL, 0, TEST_HANG_TIMEOUT); if (res != CURLM_OK) { printf("curl_multi_wait() returned %d\n", res); res = -1; goto test_cleanup; } abort_on_test_timeout(); multi_perform(multi, &still_running); abort_on_test_timeout(); } msg = curl_multi_info_read(multi, &still_running); if(msg) /* this should now contain a result code from the easy handle, get it */ i = msg->data.result; test_cleanup: /* undocumented cleanup sequence - type UA */ curl_multi_cleanup(multi); curl_easy_cleanup(curls); curl_global_cleanup(); if(res) i = res; return i; /* return the final return code */ }