aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2013-02-27 11:45:16 +0200
committerMartin Storsjö <martin@martin.st>2013-02-27 21:32:14 +0200
commit5c8696555abd30a200d0d882e2913f66619fba68 (patch)
treeb15730f861da1b1c1d2f932450cb8220f22ea866
parentde9cd1b173bab185e97995db09d40318378ab9ed (diff)
downloadffmpeg-5c8696555abd30a200d0d882e2913f66619fba68.tar.gz
lavf: Add a fate test for the noproxy pattern matching
Signed-off-by: Martin Storsjö <martin@martin.st>
-rw-r--r--libavformat/Makefile3
-rw-r--r--libavformat/noproxy-test.c43
-rw-r--r--tests/fate/libavformat.mak4
-rw-r--r--tests/ref/fate/noproxy9
4 files changed, 58 insertions, 1 deletions
diff --git a/libavformat/Makefile b/libavformat/Makefile
index 25b8157d2c..110e683b2e 100644
--- a/libavformat/Makefile
+++ b/libavformat/Makefile
@@ -380,7 +380,8 @@ SKIPHEADERS-$(CONFIG_NETWORK) += network.h rtsp.h
EXAMPLES = metadata \
output \
-TESTPROGS = seek \
+TESTPROGS = noproxy \
+ seek \
srtp \
url \
diff --git a/libavformat/noproxy-test.c b/libavformat/noproxy-test.c
new file mode 100644
index 0000000000..59a435e30a
--- /dev/null
+++ b/libavformat/noproxy-test.c
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2013 Martin Storsjo
+ *
+ * This file is part of Libav.
+ *
+ * Libav is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * Libav 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with Libav; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include "internal.h"
+
+static void test(const char *pattern, const char *host)
+{
+ int res = ff_http_match_no_proxy(pattern, host);
+ printf("The pattern \"%s\" %s the hostname %s\n",
+ pattern ? pattern : "(null)", res ? "matches" : "does not match",
+ host);
+}
+
+int main(void)
+{
+ test(NULL, "domain.com");
+ test("example.com domain.com", "domain.com");
+ test("example.com other.com", "domain.com");
+ test("example.com,domain.com", "domain.com");
+ test("example.com,domain.com", "otherdomain.com");
+ test("example.com, *.domain.com", "sub.domain.com");
+ test("example.com, *.domain.com", "domain.com");
+ test("example.com, .domain.com", "domain.com");
+ test("*", "domain.com");
+ return 0;
+}
diff --git a/tests/fate/libavformat.mak b/tests/fate/libavformat.mak
index 20bc31999f..8332246949 100644
--- a/tests/fate/libavformat.mak
+++ b/tests/fate/libavformat.mak
@@ -1,3 +1,7 @@
+FATE_LIBAVFORMAT += fate-noproxy
+fate-noproxy: libavformat/noproxy-test$(EXESUF)
+fate-noproxy: CMD = run libavformat/noproxy-test
+
FATE_LIBAVFORMAT += fate-srtp
fate-srtp: libavformat/srtp-test$(EXESUF)
fate-srtp: CMD = run libavformat/srtp-test
diff --git a/tests/ref/fate/noproxy b/tests/ref/fate/noproxy
new file mode 100644
index 0000000000..7707609d0f
--- /dev/null
+++ b/tests/ref/fate/noproxy
@@ -0,0 +1,9 @@
+The pattern "(null)" does not match the hostname domain.com
+The pattern "example.com domain.com" matches the hostname domain.com
+The pattern "example.com other.com" does not match the hostname domain.com
+The pattern "example.com,domain.com" matches the hostname domain.com
+The pattern "example.com,domain.com" does not match the hostname otherdomain.com
+The pattern "example.com, *.domain.com" matches the hostname sub.domain.com
+The pattern "example.com, *.domain.com" matches the hostname domain.com
+The pattern "example.com, .domain.com" matches the hostname domain.com
+The pattern "*" matches the hostname domain.com