aboutsummaryrefslogtreecommitdiff
path: root/tests/server
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2019-06-10 08:17:16 +0200
committerDaniel Stenberg <daniel@haxx.se>2019-06-17 16:08:00 +0200
commit40259ca65544cd5227cec387d1bb4ded01596ebc (patch)
tree582ca9b6a654788aeca0fb7a65fa7d8d398d1ca9 /tests/server
parent13d9bb8bad62dfcf23486885bfa3d0b5542a8193 (diff)
tests: have runtests figure out disabled features
... so that runtests can skip individual test cases that test features that are explicitly disabled in this build. This new logic is intended for disabled features that aren't otherwise easily visible through the curl_version_info() or other API calls. tests/server/disabled is a newly built executable that will output a list of disabled features. Outputs nothing for a default build. Closes #3950
Diffstat (limited to 'tests/server')
-rw-r--r--tests/server/Makefile.inc4
-rw-r--r--tests/server/disabled.c79
2 files changed, 82 insertions, 1 deletions
diff --git a/tests/server/Makefile.inc b/tests/server/Makefile.inc
index f14d35d12..6296af7cc 100644
--- a/tests/server/Makefile.inc
+++ b/tests/server/Makefile.inc
@@ -1,4 +1,4 @@
-noinst_PROGRAMS = getpart resolve rtspd sockfilt sws tftpd fake_ntlm socksd
+noinst_PROGRAMS = getpart resolve rtspd sockfilt sws tftpd fake_ntlm socksd disabled
CURLX_SRCS = \
../../lib/mprintf.c \
@@ -74,3 +74,5 @@ fake_ntlm_SOURCES = $(CURLX_SRCS) $(CURLX_HDRS) $(USEFUL) $(UTIL) \
fake_ntlm.c
fake_ntlm_LDADD = @CURL_NETWORK_AND_TIME_LIBS@
fake_ntlm_CFLAGS = $(AM_CFLAGS)
+
+disabled_SOURCES = disabled.c
diff --git a/tests/server/disabled.c b/tests/server/disabled.c
new file mode 100644
index 000000000..c82847d8e
--- /dev/null
+++ b/tests/server/disabled.c
@@ -0,0 +1,79 @@
+/***************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
+ * \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+/*
+ * The purpose of this tool is to figure out which, if any, features that are
+ * disabled which should otherwise exist and work. These aren't visible in
+ * regular curl -V output.
+ *
+ * Disabled protocols are visible in curl_version_info() and are not included
+ * in this table.
+ */
+
+#include "curl_setup.h"
+#include <stdio.h>
+
+static const char *disabled[]={
+#ifdef CURL_DISABLE_COOKIES
+ "cookies",
+#endif
+#ifdef CURL_DISABLE_CRYPTO_AUTH
+ "crypto",
+#endif
+#ifdef CURL_DISABLE_DOH
+ "DoH",
+#endif
+#ifdef CURL_DISABLE_HTTP_AUTH
+ "HTTP-auth",
+#endif
+#ifdef CURL_DISABLE_MIME
+ "Mime",
+#endif
+#ifdef CURL_DISABLE_NETRC
+ "netrc",
+#endif
+#ifdef CURL_DISABLE_PARSEDATE
+ "parsedate",
+#endif
+#ifdef CURL_DISABLE_PROXY
+ "proxy",
+#endif
+#ifdef CURL_DISABLE_SHUFFLE_DNS
+ "shuffle-dns",
+#endif
+#ifdef CURL_DISABLE_TYPECHECK
+ "typecheck",
+#endif
+#ifdef CURL_DISABLE_VERBOSE_STRINGS
+ "verbose-strings",
+#endif
+ NULL
+};
+
+int main(void)
+{
+ int i;
+ for(i = 0; disabled[i]; i++)
+ printf("%s\n", disabled[i]);
+
+ return 0;
+}