[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r18125 - libmicrohttpd/src/testcurl
From: |
gnunet |
Subject: |
[GNUnet-SVN] r18125 - libmicrohttpd/src/testcurl |
Date: |
Sun, 13 Nov 2011 14:12:04 +0100 |
Author: grothoff
Date: 2011-11-13 14:12:04 +0100 (Sun, 13 Nov 2011)
New Revision: 18125
Added:
libmicrohttpd/src/testcurl/test_start_stop.c
Modified:
libmicrohttpd/src/testcurl/Makefile.am
Log:
testcase for 1901
Modified: libmicrohttpd/src/testcurl/Makefile.am
===================================================================
--- libmicrohttpd/src/testcurl/Makefile.am 2011-11-13 12:36:59 UTC (rev
18124)
+++ libmicrohttpd/src/testcurl/Makefile.am 2011-11-13 13:12:04 UTC (rev
18125)
@@ -27,6 +27,7 @@
endif
check_PROGRAMS = \
+ test_start_stop \
daemontest_get \
daemontest_get_sendfile \
daemontest_urlparse \
@@ -72,6 +73,11 @@
libcurl_version_check_a_SOURCES = \
curl_version_check.c
+test_start_stop_SOURCES = \
+ test_start_stop.c
+test_start_stop_LDADD = \
+ $(top_builddir)/src/daemon/libmicrohttpd.la
+
daemon_options_test_SOURCES = \
daemon_options_test.c
daemon_options_test_LDADD = \
Added: libmicrohttpd/src/testcurl/test_start_stop.c
===================================================================
--- libmicrohttpd/src/testcurl/test_start_stop.c
(rev 0)
+++ libmicrohttpd/src/testcurl/test_start_stop.c 2011-11-13 13:12:04 UTC
(rev 18125)
@@ -0,0 +1,114 @@
+/*
+ This file is part of libmicrohttpd
+ (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., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, 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>
+
+
+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_SELECT_INTERNALLY | MHD_USE_DEBUG | poll_flag,
+ 11080, 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_DEBUG |
poll_flag,
+ 1081, 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_SELECT_INTERNALLY | MHD_USE_DEBUG | poll_flag,
+ 1081, NULL, NULL, &ahc_echo, "GET",
+ MHD_OPTION_THREAD_POOL_SIZE, 4, 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_DEBUG,
+ 1082, 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 ();
+ errorCount += testInternalGet (MHD_USE_POLL);
+ errorCount += testMultithreadedGet (MHD_USE_POLL);
+ errorCount += testMultithreadedPoolGet (MHD_USE_POLL);
+ if (errorCount != 0)
+ fprintf (stderr, "Error (code: %u)\n", errorCount);
+ return errorCount != 0; /* 0 == pass */
+}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r18125 - libmicrohttpd/src/testcurl,
gnunet <=