tests: do skipped tests properly
[platform/upstream/libsoup.git] / tests / Makefile.am
index 5c7cd33..55dd327 100644 (file)
 INCLUDES =             \
        -I$(top_srcdir) \
-       -DSRCDIR=\""$(srcdir)"\" \
-       -DLIBSOUP_DISABLE_DEPRECATED \
+       -DSRCDIR=\""$(abs_srcdir)"\" \
+       -DBUILDDIR=\""$(builddir)"\" \
        $(SOUP_MAINTAINER_FLAGS) \
        $(XML_CFLAGS)   \
-       $(GLIB_CFLAGS)  \
-       $(LIBGNUTLS_CFLAGS)
+       $(GLIB_CFLAGS)
 
 LIBS =                 \
-       $(top_builddir)/libsoup/libsoup-$(SOUP_API_VERSION).la \
+       $(top_builddir)/libsoup/libsoup-2.4.la \
+       $(LIBGNUTLS_LIBS) \
        $(GLIB_LIBS)
 
-noinst_PROGRAMS =      \
-       chunk-test      \
-       context-test    \
-       continue-test   \
-       date            \
-       dns             \
-       forms-test      \
-       get             \
-       getbug          \
-       header-parsing  \
-       misc-test       \
-       ntlm-test       \
-       redirect-test   \
-       simple-httpd    \
-       simple-proxy    \
-       uri-parsing     \
-       $(CURL_TESTS)   \
-       $(APACHE_TESTS) \
-       $(SSL_TESTS)    \
-       $(XMLRPC_TESTS)
-
-TEST_SRCS = test-utils.c test-utils.h
-
-auth_test_SOURCES = auth-test.c $(TEST_SRCS)
-chunk_test_SOURCES = chunk-test.c $(TEST_SRCS)
-context_test_SOURCES = context-test.c $(TEST_SRCS)
-continue_test_SOURCES = continue-test.c $(TEST_SRCS)
-date_SOURCES = date.c $(TEST_SRCS)
-dns_SOURCES = dns.c
-forms_test_SOURCES = forms-test.c $(TEST_SRCS)
-get_SOURCES = get.c
-getbug_SOURCES = getbug.c
-header_parsing_SOURCES = header-parsing.c $(TEST_SRCS)
-misc_test_SOURCES = misc-test.c $(TEST_SRCS)
-ntlm_test_SOURCES = ntlm-test.c $(TEST_SRCS)
-proxy_test_SOURCES = proxy-test.c $(TEST_SRCS)
-pull_api_SOURCES = pull-api.c $(TEST_SRCS)
-range_test_SOURCES = range-test.c $(TEST_SRCS)
-redirect_test_SOURCES = redirect-test.c $(TEST_SRCS)
-server_auth_test_SOURCES = server-auth-test.c $(TEST_SRCS)
-simple_httpd_SOURCES = simple-httpd.c
-simple_proxy_SOURCES = simple-proxy.c
-ssl_test_SOURCES = ssl-test.c $(TEST_SRCS)
-uri_parsing_SOURCES = uri-parsing.c $(TEST_SRCS)
-xmlrpc_test_SOURCES = xmlrpc-test.c $(TEST_SRCS)
-xmlrpc_server_test_SOURCES = xmlrpc-server-test.c $(TEST_SRCS)
+TESTS =                                \
+       auth-test               \
+       cache-test              \
+       chunk-test              \
+       coding-test             \
+       connection-test         \
+       context-test            \
+       continue-test           \
+       cookies-test            \
+       date                    \
+       forms-test              \
+       header-parsing          \
+       misc-test               \
+       multipart-test          \
+       ntlm-test               \
+       proxy-test              \
+       pull-api                \
+       range-test              \
+       redirect-test           \
+       requester-test          \
+       resource-test           \
+       session-test            \
+       server-auth-test        \
+       sniffing-test           \
+       socket-test             \
+       ssl-test                \
+       streaming-test          \
+       timeout-test            \
+       tld-test                \
+       uri-parsing             \
+       xmlrpc-server-test      \
+       xmlrpc-test
+
+noinst_PROGRAMS =              \
+       $(TESTS)                \
+       dns                     \
+       get                     \
+       ntlm-test-helper        \
+       simple-httpd            \
+       simple-proxy
+
+noinst_DATA = soup-tests.gresource
+
+noinst_LTLIBRARIES = libtest.la
+
+libtest_la_SOURCES =   \
+       test-utils.c    \
+       test-utils.h
+
+LDADD = libtest.la
 
 if HAVE_APACHE
-APACHE_TESTS = auth-test proxy-test pull-api range-test
-endif
-if HAVE_CURL
-CURL_TESTS = forms-test server-auth-test
+if HAVE_APACHE_2_2
+httpd_conf_in = httpd.conf.22.in
+else
+httpd_conf_in = httpd.conf.24.in
 endif
-if HAVE_SSL
-SSL_TESTS = ssl-test
-endif
-if HAVE_XMLRPC_EPI_PHP
-XMLRPC_TESTS = xmlrpc-test xmlrpc-server-test
+httpd.conf: $(httpd_conf_in)
+       $(AM_V_GEN) sed -e 's,[@]srcdir@,$(srcdir),' \
+           -e 's,[@]builddir@,$(builddir),' \
+           -e 's,[@]APACHE_MODULE_DIR@,$(APACHE_MODULE_DIR),' \
+           -e 's,[@]APACHE_PHP_MODULE_DIR@,$(APACHE_PHP_MODULE_DIR),' \
+           -e 's,[@]APACHE_PHP_MODULE@,$(APACHE_PHP_MODULE),' \
+           -e 's,[@]IF_HAVE_PHP@,$(IF_HAVE_PHP),' \
+           -e 's,[@]APACHE_SSL_MODULE_DIR@,$(APACHE_SSL_MODULE_DIR),' \
+           $< > $@ || rm -f $@
+
+BUILT_SOURCES = httpd.conf
 endif
 
-TESTS =                        \
-       chunk-test      \
-       context-test    \
-       continue-test   \
-       date            \
-       header-parsing  \
-       misc-test       \
-       ntlm-test       \
-       redirect-test   \
-       uri-parsing     \
-       $(APACHE_TESTS) \
-       $(CURL_TESTS)   \
-       $(SSL_TESTS)    \
-       $(XMLRPC_TESTS)
-
-EXTRA_DIST =           \
-       libsoup.supp    \
-       test-cert.pem   \
-       test-key.pem    \
-       htdigest        \
-       htpasswd        \
-       httpd.conf.in   \
-       index.txt       \
-       xmlrpc-server.php
+soup-tests.gresource: soup-tests.gresource.xml $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/soup-tests.gresource.xml)
+       $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir)  $<
+
+RESOURCES =                    \
+       resources/atom.xml      \
+       resources/home.gif      \
+       resources/html_binary.html \
+       resources/mbox          \
+       resources/mbox.gz       \
+       resources/mbox.raw      \
+       resources/mbox.zlib     \
+       resources/ps_binary.ps  \
+       resources/rss20.xml     \
+       resources/test.html     \
+       resources/text_binary.txt
+
+EXTRA_DIST =                    \
+       htdigest                 \
+       htpasswd                 \
+       httpd.conf.22.in         \
+       httpd.conf.24.in         \
+       index.txt                \
+       libsoup.supp             \
+       soup-tests.gresource.xml \
+       test-cert.pem            \
+       test-key.pem             \
+       xmlrpc-server.php        \
+       $(RESOURCES)
+
+DISTCLEANFILES = soup-tests.gresource httpd.conf
+
+TESTS_ENVIRONMENT = \
+       SOUP_TESTS_IN_MAKE_CHECK=1
+
+check: start-httpd
 
-if MISSING_REGRESSION_TEST_PACKAGES
 check-local: check-TESTS
+       @$(MAKE) kill-httpd
+if MISSING_REGRESSION_TEST_PACKAGES
        @echo ""
        @echo "NOTE: some tests were not run due to missing packages:" $(MISSING_REGRESSION_TEST_PACKAGES)
        @echo ""
 endif
 
+.PHONY: start-httpd kill-httpd
+
+start-httpd:
+if HAVE_APACHE
+       @$(APACHE_HTTPD) -d `pwd` -f httpd.conf -k start;
+endif
+
 kill-httpd:
-       $(APACHE_HTTPD) -d `pwd` -f httpd.conf -k stop
+if HAVE_APACHE
+       @if [ -f httpd.pid ]; then \
+               $(APACHE_HTTPD) -d `pwd` -f httpd.conf -k stop; \
+       fi
+endif