diff options
author | Dan Winship <danw@gnome.org> | 2010-12-10 10:27:39 +0100 |
---|---|---|
committer | Dan Winship <danw@gnome.org> | 2010-12-10 10:29:04 +0100 |
commit | ec1c3ff3289d7130a8b7354bdee09f24c3ab9962 (patch) | |
tree | dbf7790266519e79aa0697092ac3ac8b39d0ad9a | |
parent | 47a50352f20867f0dc53843b682f6c37e09ea6e2 (diff) | |
download | libsoup-ec1c3ff3289d7130a8b7354bdee09f24c3ab9962.tar.gz |
Add glib-networking to the MISSING_REGRESSION_TEST_PACKAGES checks
and make timeout-test and proxy-test skip their https tests if
it's not available
-rw-r--r-- | configure.ac | 27 | ||||
-rw-r--r-- | tests/proxy-test.c | 3 | ||||
-rw-r--r-- | tests/test-utils.c | 6 | ||||
-rw-r--r-- | tests/test-utils.h | 2 | ||||
-rw-r--r-- | tests/timeout-test.c | 24 |
5 files changed, 46 insertions, 16 deletions
diff --git a/configure.ac b/configure.ac index f596ba99..cf6a4a59 100644 --- a/configure.ac +++ b/configure.ac @@ -224,6 +224,23 @@ dnl ****************************** AC_MSG_NOTICE([checking for programs needed for regression tests]) MISSING_REGRESSION_TEST_PACKAGES="" +AC_MSG_CHECKING([for glib-networking (glib TLS implementation)]) +save_CFLAGS="$CFLAGS" +save_LIBS="$LIBS" +CFLAGS="$CFLAGS $GLIB_CFLAGS" +LIBS="$LIBS $GLIB_LIBS" +AC_RUN_IFELSE([AC_LANG_PROGRAM([#include <gio/gio.h>], + [return !g_tls_backend_supports_tls (g_tls_backend_get_default ());])], + [have_glib_networking=yes], + [have_glib_networking=no], + [have_glib_networking="unknown (cross-compiling)"]) +CFLAGS="$save_CFLAGS" +LIBS="$save_LIBS" +AC_MSG_RESULT($have_glib_networking) +if test "$have_glib_networking" = "no"; then + MISSING_REGRESSION_TEST_PACKAGES="$MISSING_REGRESSION_TEST_PACKAGES glib-networking" +fi + AC_ARG_WITH(apache-httpd, AS_HELP_STRING([--with-apache-httpd], [Path to apache httpd (for tests)]), APACHE_HTTPD="$withval", @@ -330,9 +347,6 @@ else fi AM_CONDITIONAL(HAVE_CURL, test "$CURL" != no) -if test -n "$MISSING_REGRESSION_TEST_PACKAGES"; then - AC_MSG_NOTICE([Some regression tests will not be run due to missing packages:$MISSING_REGRESSION_TEST_PACKAGES]) -fi AC_SUBST(MISSING_REGRESSION_TEST_PACKAGES) AM_CONDITIONAL(MISSING_REGRESSION_TEST_PACKAGES, test -n "$MISSING_REGRESSION_TEST_PACKAGES") @@ -353,3 +367,10 @@ AC_CONFIG_FILES([ docs/reference/Makefile ]) AC_OUTPUT + +if test -n "$MISSING_REGRESSION_TEST_PACKAGES"; then + echo "" + echo Some regression tests will not be run due to missing packages: + echo $MISSING_REGRESSION_TEST_PACKAGES + echo "" +fi diff --git a/tests/proxy-test.c b/tests/proxy-test.c index 4fb74ed5..e6e910dc 100644 --- a/tests/proxy-test.c +++ b/tests/proxy-test.c @@ -90,6 +90,9 @@ test_url (const char *url, int proxy, guint expected, SoupURI *proxy_uri; SoupMessage *msg; + if (!tls_available && g_str_has_prefix (url, "https:")) + return; + debug_printf (1, " GET %s via %s%s\n", url, proxy_names[proxy], close ? " (with Connection: close)" : ""); if (proxy == UNAUTH_PROXY && expected != SOUP_STATUS_FORBIDDEN) diff --git a/tests/test-utils.c b/tests/test-utils.c index 750da72c..15495a0b 100644 --- a/tests/test-utils.c +++ b/tests/test-utils.c @@ -18,7 +18,7 @@ static gboolean apache_running; static SoupLogger *logger; int debug_level, errors; -gboolean expect_warning; +gboolean expect_warning, tls_available; static int http_debug_level; static gboolean @@ -79,6 +79,7 @@ test_init (int argc, char **argv, GOptionEntry *entries) GOptionContext *opts; char *name; GError *error = NULL; + GTlsBackend *tls_backend; g_thread_init (NULL); g_type_init (); @@ -108,6 +109,9 @@ test_init (int argc, char **argv, GOptionEntry *entries) signal (SIGINT, quit); g_log_set_default_handler (test_log_handler, NULL); + + tls_backend = g_tls_backend_get_default (); + tls_available = g_tls_backend_supports_tls (tls_backend); } void diff --git a/tests/test-utils.h b/tests/test-utils.h index f609eaf8..98c12fda 100644 --- a/tests/test-utils.h +++ b/tests/test-utils.h @@ -8,7 +8,7 @@ void test_init (int argc, char **argv, GOptionEntry *entries); void test_cleanup (void); extern int debug_level, errors; -extern gboolean expect_warning; +extern gboolean expect_warning, tls_available; void debug_printf (int level, const char *format, ...) G_GNUC_PRINTF (2, 3); #ifdef HAVE_APACHE diff --git a/tests/timeout-test.c b/tests/timeout-test.c index 5aec83d7..b712f9f2 100644 --- a/tests/timeout-test.c +++ b/tests/timeout-test.c @@ -176,17 +176,19 @@ main (int argc, char **argv) g_free (slow_uri); soup_test_server_quit_unref (server); - debug_printf (1, "\nhttps\n"); - server = soup_test_server_new_ssl (TRUE); - soup_server_add_handler (server, NULL, server_handler, NULL, NULL); - fast_uri = g_strdup_printf ("https://127.0.0.1:%u/", - soup_server_get_port (server)); - slow_uri = g_strdup_printf ("https://127.0.0.1:%u/slow", - soup_server_get_port (server)); - do_timeout_tests (fast_uri, slow_uri); - g_free (fast_uri); - g_free (slow_uri); - soup_test_server_quit_unref (server); + if (tls_available) { + debug_printf (1, "\nhttps\n"); + server = soup_test_server_new_ssl (TRUE); + soup_server_add_handler (server, NULL, server_handler, NULL, NULL); + fast_uri = g_strdup_printf ("https://127.0.0.1:%u/", + soup_server_get_port (server)); + slow_uri = g_strdup_printf ("https://127.0.0.1:%u/slow", + soup_server_get_port (server)); + do_timeout_tests (fast_uri, slow_uri); + g_free (fast_uri); + g_free (slow_uri); + soup_test_server_quit_unref (server); + } test_cleanup (); return errors != 0; |