libmicrohttpd

HTTP/1.x server C library (MHD 1.x, stable)
Log | Files | Refs | Submodules | README | LICENSE

commit cfddbb9dc7d5d1aa964b6ce86fb090c56f800452
parent 5b3cd84e62b430c34b5cf2cef20e49b11155a69d
Author: Evgeny Grin (Karlson2k) <k2k@narod.ru>
Date:   Sun,  1 Oct 2017 01:09:22 +0300

test_start_stop: moved to src/microhttpd, removed inclusion of libcurl header

Diffstat:
Msrc/microhttpd/Makefile.am | 6++++++
Asrc/microhttpd/test_start_stop.c | 128+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Msrc/testcurl/Makefile.am | 6------
Dsrc/testcurl/test_start_stop.c | 129-------------------------------------------------------------------------------
4 files changed, 134 insertions(+), 135 deletions(-)

diff --git a/src/microhttpd/Makefile.am b/src/microhttpd/Makefile.am @@ -144,6 +144,7 @@ check_PROGRAMS = \ test_str_to_value \ test_str_token \ test_http_reasons \ + test_start_stop \ test_daemon \ test_options @@ -175,6 +176,11 @@ check_PROGRAMS += \ test_shutdown_poll_ignore endif +test_start_stop_SOURCES = \ + test_start_stop.c +test_start_stop_LDADD = \ + $(top_builddir)/src/microhttpd/libmicrohttpd.la + test_daemon_SOURCES = \ test_daemon.c test_daemon_LDADD = \ diff --git a/src/microhttpd/test_start_stop.c b/src/microhttpd/test_start_stop.c @@ -0,0 +1,128 @@ +/* + This file is part of libmicrohttpd + Copyright (C) 2011 Christian Grothoff + + libmicrohttpd is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 2, or (at your + option) any later version. + + libmicrohttpd is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with libmicrohttpd; see the file COPYING. If not, write to the + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +/** + * @file test_start_stop.c + * @brief test for #1901 (start+stop) + * @author Christian Grothoff + */ +#include "mhd_options.h" +#include "platform.h" +#include <microhttpd.h> + +#if defined(CPU_COUNT) && (CPU_COUNT+0) < 2 +#undef CPU_COUNT +#endif +#if !defined(CPU_COUNT) +#define CPU_COUNT 2 +#endif + + +static int +ahc_echo (void *cls, + struct MHD_Connection *connection, + const char *url, + const char *method, + const char *version, + const char *upload_data, size_t *upload_data_size, + void **unused) +{ + return MHD_NO; +} + + +static int +testInternalGet (int poll_flag) +{ + struct MHD_Daemon *d; + + d = MHD_start_daemon (MHD_USE_INTERNAL_POLLING_THREAD | MHD_USE_ERROR_LOG | poll_flag, + 0, NULL, NULL, &ahc_echo, "GET", MHD_OPTION_END); + if (d == NULL) + return 1; + MHD_stop_daemon (d); + return 0; +} + +static int +testMultithreadedGet (int poll_flag) +{ + struct MHD_Daemon *d; + + d = MHD_start_daemon (MHD_USE_THREAD_PER_CONNECTION | MHD_USE_INTERNAL_POLLING_THREAD | MHD_USE_ERROR_LOG | poll_flag, + 0, NULL, NULL, &ahc_echo, "GET", MHD_OPTION_END); + if (d == NULL) + return 2; + MHD_stop_daemon (d); + return 0; +} + +static int +testMultithreadedPoolGet (int poll_flag) +{ + struct MHD_Daemon *d; + + d = MHD_start_daemon (MHD_USE_INTERNAL_POLLING_THREAD | MHD_USE_ERROR_LOG | poll_flag, + 0, NULL, NULL, &ahc_echo, "GET", + MHD_OPTION_THREAD_POOL_SIZE, CPU_COUNT, MHD_OPTION_END); + if (d == NULL) + return 4; + MHD_stop_daemon (d); + return 0; +} + +static int +testExternalGet () +{ + struct MHD_Daemon *d; + + d = MHD_start_daemon (MHD_USE_ERROR_LOG, + 0, NULL, NULL, &ahc_echo, "GET", MHD_OPTION_END); + if (d == NULL) + return 8; + MHD_stop_daemon (d); + return 0; +} + + +int +main (int argc, char *const *argv) +{ + unsigned int errorCount = 0; + + errorCount += testInternalGet (0); + errorCount += testMultithreadedGet (0); + errorCount += testMultithreadedPoolGet (0); + errorCount += testExternalGet (); + if (MHD_YES == MHD_is_feature_supported(MHD_FEATURE_POLL)) + { + errorCount += testInternalGet(MHD_USE_POLL); + errorCount += testMultithreadedGet(MHD_USE_POLL); + errorCount += testMultithreadedPoolGet(MHD_USE_POLL); + } + if (MHD_YES == MHD_is_feature_supported(MHD_FEATURE_EPOLL)) + { + errorCount += testInternalGet(MHD_USE_EPOLL); + errorCount += testMultithreadedPoolGet(MHD_USE_EPOLL); + } + if (errorCount != 0) + fprintf (stderr, "Error (code: %u)\n", errorCount); + return errorCount != 0; /* 0 == pass */ +} diff --git a/src/testcurl/Makefile.am b/src/testcurl/Makefile.am @@ -18,7 +18,6 @@ $(LIBCURL_CPPFLAGS) if HAVE_CURL check_PROGRAMS = \ - test_start_stop \ test_get \ test_get_sendfile \ test_urlparse \ @@ -83,11 +82,6 @@ endif libcurl_version_check_a_SOURCES = \ curl_version_check.c -test_start_stop_SOURCES = \ - test_start_stop.c -test_start_stop_LDADD = \ - $(top_builddir)/src/microhttpd/libmicrohttpd.la - test_concurrent_stop_SOURCES = \ test_concurrent_stop.c test_concurrent_stop_CFLAGS = \ diff --git a/src/testcurl/test_start_stop.c b/src/testcurl/test_start_stop.c @@ -1,129 +0,0 @@ -/* - This file is part of libmicrohttpd - Copyright (C) 2011 Christian Grothoff - - libmicrohttpd is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published - by the Free Software Foundation; either version 2, or (at your - option) any later version. - - libmicrohttpd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with libmicrohttpd; see the file COPYING. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -/** - * @file test_start_stop.c - * @brief test for #1901 (start+stop) - * @author Christian Grothoff - */ -#include "MHD_config.h" -#include "platform.h" -#include <curl/curl.h> -#include <microhttpd.h> - -#if defined(CPU_COUNT) && (CPU_COUNT+0) < 2 -#undef CPU_COUNT -#endif -#if !defined(CPU_COUNT) -#define CPU_COUNT 2 -#endif - - -static int -ahc_echo (void *cls, - struct MHD_Connection *connection, - const char *url, - const char *method, - const char *version, - const char *upload_data, size_t *upload_data_size, - void **unused) -{ - return MHD_NO; -} - - -static int -testInternalGet (int poll_flag) -{ - struct MHD_Daemon *d; - - d = MHD_start_daemon (MHD_USE_INTERNAL_POLLING_THREAD | MHD_USE_ERROR_LOG | poll_flag, - 0, NULL, NULL, &ahc_echo, "GET", MHD_OPTION_END); - if (d == NULL) - return 1; - MHD_stop_daemon (d); - return 0; -} - -static int -testMultithreadedGet (int poll_flag) -{ - struct MHD_Daemon *d; - - d = MHD_start_daemon (MHD_USE_THREAD_PER_CONNECTION | MHD_USE_INTERNAL_POLLING_THREAD | MHD_USE_ERROR_LOG | poll_flag, - 0, NULL, NULL, &ahc_echo, "GET", MHD_OPTION_END); - if (d == NULL) - return 2; - MHD_stop_daemon (d); - return 0; -} - -static int -testMultithreadedPoolGet (int poll_flag) -{ - struct MHD_Daemon *d; - - d = MHD_start_daemon (MHD_USE_INTERNAL_POLLING_THREAD | MHD_USE_ERROR_LOG | poll_flag, - 0, NULL, NULL, &ahc_echo, "GET", - MHD_OPTION_THREAD_POOL_SIZE, CPU_COUNT, MHD_OPTION_END); - if (d == NULL) - return 4; - MHD_stop_daemon (d); - return 0; -} - -static int -testExternalGet () -{ - struct MHD_Daemon *d; - - d = MHD_start_daemon (MHD_USE_ERROR_LOG, - 0, NULL, NULL, &ahc_echo, "GET", MHD_OPTION_END); - if (d == NULL) - return 8; - MHD_stop_daemon (d); - return 0; -} - - -int -main (int argc, char *const *argv) -{ - unsigned int errorCount = 0; - - errorCount += testInternalGet (0); - errorCount += testMultithreadedGet (0); - errorCount += testMultithreadedPoolGet (0); - errorCount += testExternalGet (); - if (MHD_YES == MHD_is_feature_supported(MHD_FEATURE_POLL)) - { - errorCount += testInternalGet(MHD_USE_POLL); - errorCount += testMultithreadedGet(MHD_USE_POLL); - errorCount += testMultithreadedPoolGet(MHD_USE_POLL); - } - if (MHD_YES == MHD_is_feature_supported(MHD_FEATURE_EPOLL)) - { - errorCount += testInternalGet(MHD_USE_EPOLL); - errorCount += testMultithreadedPoolGet(MHD_USE_EPOLL); - } - if (errorCount != 0) - fprintf (stderr, "Error (code: %u)\n", errorCount); - return errorCount != 0; /* 0 == pass */ -}