commit 01d82d833558e8c9079b1f30b95064a0b8989bcc
parent 482b48e25d36d736ec10bd7ddcb183bc3b755a5b
Author: Marcello Stanisci <stanisci.m@gmail.com>
Date: Sat, 20 Jan 2018 17:27:28 +0100
Adding Web server, and invoking test-script via 'make check'
Diffstat:
6 files changed, 99 insertions(+), 1 deletion(-)
diff --git a/.gitignore b/.gitignore
@@ -31,3 +31,6 @@ test-driver
twister_config.h
twister_config.h.in
INSTALL
+src/test/Makefile.in
+src/test/Makefile
+src/test/test_twister_webserver
diff --git a/configure.ac b/configure.ac
@@ -386,5 +386,6 @@ AC_CONFIG_FILES([Makefile
src/Makefile
src/include/Makefile
src/twister/Makefile
+ src/test/Makefile
])
AC_OUTPUT
diff --git a/src/Makefile.am b/src/Makefile.am
@@ -1,4 +1,4 @@
# This Makefile.am is in the public domain
AM_CPPFLAGS = -I$(top_srcdir)/src/include
-SUBDIRS = include twister
+SUBDIRS = include twister test
diff --git a/src/test/Makefile.am b/src/test/Makefile.am
@@ -0,0 +1,11 @@
+bin_PROGRAMS = \
+ test_twister_webserver
+
+test_twister_webserver_SOURCES = \
+ test_twister_webserver.c
+
+test_twister_webserver_LDADD = \
+ -lmicrohttpd
+
+TESTS = \
+ test_twister # shell script
diff --git a/src/test/test_twister b/src/test/test_twister
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+echo "Test undong!"
diff --git a/src/test/test_twister_webserver.c b/src/test/test_twister_webserver.c
@@ -0,0 +1,80 @@
+/*
+ This file is part of Taler.
+ Copyright (C) 2009, 2010, 2011, 2016 GNUnet e.V.
+ Copyright (C) 2018 Taler Systems SA
+
+ Taler 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 3, or (at your
+ option) any later version.
+
+ Taler 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 Taler; see the file COPYING. If not, write to the
+ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+/**
+ * This code is in the public domain.
+ */
+
+#include <sys/types.h>
+#ifndef _WIN32
+#include <sys/select.h>
+#include <sys/socket.h>
+#else
+#include <winsock2.h>
+#endif
+#include <string.h>
+#include <microhttpd.h>
+#include <stdio.h>
+
+#define PORT 8888
+
+static int
+answer_to_connection (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 **con_cls)
+{
+ const char *page = "<html><body>Hello, browser!</body></html>";
+ struct MHD_Response *response;
+ int ret;
+ (void)cls; /* Unused. Silent compiler warning. */
+ (void)url; /* Unused. Silent compiler warning. */
+ (void)method; /* Unused. Silent compiler warning. */
+ (void)version; /* Unused. Silent compiler warning. */
+ (void)upload_data; /* Unused. Silent compiler warning. */
+ (void)upload_data_size; /* Unused. Silent compiler warning. */
+ (void)con_cls; /* Unused. Silent compiler warning. */
+
+ response =
+ MHD_create_response_from_buffer (strlen (page), (void *) page,
+ MHD_RESPMEM_PERSISTENT);
+ ret = MHD_queue_response (connection, MHD_HTTP_OK, response);
+ MHD_destroy_response (response);
+
+ return ret;
+}
+
+
+int
+main (void)
+{
+ struct MHD_Daemon *daemon;
+
+ daemon = MHD_start_daemon (MHD_USE_AUTO | MHD_USE_INTERNAL_POLLING_THREAD, PORT, NULL, NULL,
+ &answer_to_connection, NULL, MHD_OPTION_END);
+ if (NULL == daemon)
+ return 1;
+
+ (void) getchar ();
+
+ MHD_stop_daemon (daemon);
+ return 0;
+}