regression-tests.action: Add a link to Privoxy-Regression-Test in case it isn't packaged
[privoxy.git] / regression-tests.action
index 3f61407..86a1890 100644 (file)
@@ -1,16 +1,15 @@
 #############################################################################
-# $Id: regression-tests.action,v 1.51 2014/02/10 14:43:03 fabiankeil Exp $
-#############################################################################
 #
 # This is a configuration file for Privoxy-Regression-Test
-# (included in the source tarball's tools directory).
+# (included in the source tarball's tools directory and available at
+# https://www.privoxy.org/gitweb/?p=privoxy.git;a=blob;f=tools/privoxy-regression-test.pl;hb=HEAD).
 #
 # After referencing it in your Privoxy configuration both Privoxy and
 # Privoxy-Regression-Test should be good to go.
 #
 #############################################################################
 #
-# Copyright (c) 2007-2013 Fabian Keil <fk@fabiankeil.de>
+# Copyright (c) 2007-2020 Fabian Keil <fk@fabiankeil.de>
 #
 # Permission to use, copy, modify, and distribute this software for any
 # purpose with or without fee is hereby granted, provided that the above
 #############################################################################
 
 {{settings}}
-for-privoxy-version=3.0.21
+for-privoxy-version=3.0.29
 
 # Some dependencies Privoxy-Regression-Test should know about:
 #
 # Level  9 needs = config line user-manual\s+(\.?\.?/|[A-Za-z]:)
+# Level 12 needs = feature status FEATURE_CGI_EDIT_ACTIONS Yes
 # Level 12 needs = config line enable-edit-actions\s+1
 # Level 13 needs = feature status FEATURE_CONNECTION_KEEP_ALIVE Yes
-# Level 13 needs = config line keep-alive-timeout\s+[1-9]+
+# Level 13 needs = config line keep-alive-timeout\s+(2[1-9]+|[3-9]\d+|1\d{2,})
 # Level 14 needs = feature status FEATURE_CONNECTION_KEEP_ALIVE No
 # Level 15 needs = config line connection-sharing\s+0
 # Level 16 needs = feature status FEATURE_CONNECTION_KEEP_ALIVE Yes
 # Level 16 needs = config line connection-sharing\s+1
-# Level 17 needs = feature status FEATURE_PTHREAD Yes
+# Level 17 needs = feature status FEATURE_64_BIT_TIME_T Yes
 # Level 18 needs = feature status FEATURE_GRACEFUL_TERMINATION No
 # Level 19 needs = feature status FEATURE_GRACEFUL_TERMINATION Yes
-# Level 20 needs = feature status FEATURE_TOGGLE Yes
-# Level 21 needs = feature status FEATURE_TOGGLE No
+# Level 20 needs = config line enable-remote-toggle\s+1
+# Level 21 needs = config line enable-remote-toggle\s+0
 # Level 22 needs = config line enable-proxy-authentication-forwarding\s+0
 # Level 23 needs = config line enable-proxy-authentication-forwarding\s+1
+# Level 24 needs = feature status FEATURE_CLIENT_TAGS Yes
+# Level 25 needs = feature status FEATURE_HTTPS_INSPECTION No
+# Level 26 needs = feature status FEATURE_PCRE_HOST_PATTERNS Yes
 
 #######################################################
 # Enable taggers to activate the tests on demand
@@ -209,6 +212,28 @@ TAG:^add-header\{X-Custom-Header: yes, please\}$
 # Expect Header = Referer: http://config.privoxy.org/foo/baaz.html
 TAG:^client-header-filter\{hide-tor-exit-notation\}$
 
+#######################################################
+# Test client-header-filter{no-brotli-accepted}.
+#######################################################
+
+{+client-header-filter{no-brotli-accepted}}
+# Set Header    = Accept-Encoding: gzip, deflate, br
+# Expect Header = Accept-Encoding: gzip, deflate
+#
+# Set Header    = Accept-Encoding: gzip, br, deflate
+# Expect Header = Accept-Encoding: gzip, deflate
+#
+# Set Header    = Accept-Encoding: br, gzip, deflate
+# Expect Header = Accept-Encoding: gzip, deflate
+#
+# Set Header    = Accept-Encoding: br
+# Expect Header = Accept-Encoding:
+#
+# Set Header    = Accept-Encoding: gzip, deflate
+# Expect Header = NO CHANGE
+#
+TAG:^client-header-filter\{no-brotli-accepted\}$
+
 #######################################################
 # Test crunch-client-header{}.
 #######################################################
@@ -328,6 +353,7 @@ TAG:^hide-if-modified-since\{-60\}$
 # Expect Header = SOME CHANGE
 # Set Header    = If-Modified-Since: Wed, 31 Dec 1969 23:59:59 GMT
 # Expect Header = SOME CHANGE
+# Level = 17
 TAG:^hide-if-modified-since\{\+60\}$
 
 {+hide-if-modified-since{60} -crunch-if-none-match}
@@ -676,7 +702,7 @@ TAG:^Proxy-Authorization header forwarding$
 #
 # These are mainly useful for checking for memory leaks
 # with Valgrind or whether or not the user manual is installed
-# correctly and are unlikely to actually detect any
+# correctly.
 #
 # Note that if "Expect Status Code" is missing, 200 is implied.
 #
@@ -702,6 +728,7 @@ TAG:^Proxy-Authorization header forwarding$
 # Fetch Test = http://config.privoxy.org/show-status?file=invalid
 # Fetch Test = http://config.privoxy.org/show-status?file=trust
 # Fetch Test = http://p.p/show-version
+# Expect Status Code = 404
 # Fetch Test = http://p.p/show-request
 # Fetch Test = http://p.p/show-url-info
 # Fetch Test = http://p.p/show-url-info?url=www.privoxy.org%2F
@@ -717,37 +744,91 @@ TAG:^Proxy-Authorization header forwarding$
 # Fetch Test = http://p.p/toggle
 # Level = 20
 # Fetch Test = http://p.p/toggle
-# Expect Status Code = 404
+# Expect Status Code = 403
 # Level = 21
 # Fetch Test = http://p.p/edit-actions
+# Expect Status Code = 403
+# Level = 12
 # Fetch Test = http://p.p/eaa
+# Expect Status Code = 403
+# Level = 12
 # Fetch Test = http://p.p/eau
+# Expect Status Code = 403
+# Level = 12
 # Fetch Test = http://p.p/ear
+# Expect Status Code = 403
+# Level = 12
 # Fetch Test = http://p.p/eal
+# Expect Status Code = 403
+# Level = 12
 # Fetch Test = http://p.p/eafu
+# Expect Status Code = 403
+# Level = 12
 # Fetch Test = http://p.p/eas
+# Expect Status Code = 403
+# Level = 12
 # Fetch Test = http://p.p/easa
+# Expect Status Code = 403
+# Level = 12
 # Fetch Test = http://p.p/easr
+# Expect Status Code = 403
+# Level = 12
 # Fetch Test = http://p.p/eass
+# Expect Status Code = 403
+# Level = 12
 # Fetch Test = http://p.p/edit-actions-for-url
+# Expect Status Code = 403
+# Level = 12
 # Fetch Test = http://p.p/edit-actions-list
+# Level = 12
 # Fetch Test = http://p.p/edit-actions-submit
+# Expect Status Code = 403
+# Level = 12
+# Expect Status Code = 403
 # Fetch Test = http://p.p/edit-actions-url
+# Expect Status Code = 403
+# Level = 12
 # Fetch Test = http://p.p/edit-actions-url-form
+# Expect Status Code = 403
+# Level = 12
 # Fetch Test = http://p.p/edit-actions-add-url
+# Expect Status Code = 403
+# Level = 12
 # Fetch Test = http://p.p/edit-actions-add-url-form
+# Expect Status Code = 403
+# Level = 12
 # Fetch Test = http://p.p/edit-actions-remove-url
+# Expect Status Code = 403
+# Level = 12
 # Fetch Test = http://p.p/edit-actions-remove-url-form
+# Expect Status Code = 403
+# Level = 12
 # Fetch Test = http://p.p/edit-actions-section-add
+# Expect Status Code = 403
+# Level = 12
 # Fetch Test = http://p.p/edit-actions-section-remove
+# Expect Status Code = 403
+# Level = 12
 # Fetch Test = http://p.p/edit-actions-section-swap
+# Expect Status Code = 403
+# Level = 12
 # Fetch Test = http://p.p/error-favicon.ico
 # Fetch Test = http://p.p/favicon.ico
 # Fetch Test = http://p.p/robots.txt
 # Fetch Test = http://p.p/send-banner
+# Trusted CGI Request = http://p.p/send-stylesheet
 # Fetch Test = http://p.p/send-stylesheet
+# Expect Status Code = 403
 # Fetch Test = http://p.p/t
 # Fetch Test = http://p.p/url-info-osd.xml
+# Fetch Test = http://p.p/client-tags
+# Level = 24
+# Trusted CGI Request = http://p.p/toggle-client-tag
+# Expect Status Code = 302
+# Level = 24
+# Fetch Test = http://p.p/toggle-client-tag
+# Expect Status Code = 403
+# Level = 24
 
 # Trusted CGI Request = http://p.p/edit-actions
 # Expect Status Code = 302
@@ -755,26 +836,47 @@ TAG:^Proxy-Authorization header forwarding$
 # Fetch Test = http://p.p/does-not-exist
 # Expect Status Code = 404
 # Trusted CGI Request = http://p.p/eaa
+# Level = 12
 # Trusted CGI Request = http://p.p/eau
+# Level = 12
 # Trusted CGI Request = http://p.p/ear
+# Level = 12
 # Trusted CGI Request = http://p.p/eal
+# Level = 12
 # Trusted CGI Request = http://p.p/eafu
+# Level = 12
 # Trusted CGI Request = http://p.p/eas
+# Level = 12
 # Trusted CGI Request = http://p.p/easa
+# Level = 12
 # Trusted CGI Request = http://p.p/easr
+# Level = 12
 # Trusted CGI Request = http://p.p/eass
+# Level = 12
 # Trusted CGI Request = http://p.p/edit-actions-for-url
+# Level = 12
 # Trusted CGI Request = http://p.p/edit-actions-list
+# Level = 12
 # Trusted CGI Request = http://p.p/edit-actions-submit
+# Level = 12
 # Trusted CGI Request = http://p.p/edit-actions-url
+# Level = 12
 # Trusted CGI Request = http://p.p/edit-actions-url-form
+# Level = 12
 # Trusted CGI Request = http://p.p/edit-actions-add-url
+# Level = 12
 # Trusted CGI Request = http://p.p/edit-actions-add-url-form
+# Level = 12
 # Trusted CGI Request = http://p.p/edit-actions-remove-url
+# Level = 12
 # Trusted CGI Request = http://p.p/edit-actions-remove-url-form
+# Level = 12
 # Trusted CGI Request = http://p.p/edit-actions-section-add
+# Level = 12
 # Trusted CGI Request = http://p.p/edit-actions-section-remove
+# Level = 12
 # Trusted CGI Request = http://p.p/edit-actions-section-swap
+# Level = 12
 # Trusted CGI Request = http://p.p/send-stylesheet
 
 # The following tests depend on Privoxy being configured to deliver the user manual
@@ -835,6 +937,7 @@ TAG:^Proxy-Authorization header forwarding$
 # Method Test = OPTIONS
 # Method Test = TRACE
 # Method Test = CONNECT
+# Level = 25
 # Method Test = PROPFIND
 # Method Test = PROPPATCH
 # Method Test = MOVE
@@ -862,6 +965,7 @@ TAG:^Proxy-Authorization header forwarding$
 # Method Test = MERGE
 # Method Test = BASELINE-CONTROL
 # Method Test = MKACTIVITY
+# Method Test = PATCH
 # Method Test = PRIVOXY-REGRESSION-TEST-IN-THE-HOUSE
 # Expect Status Code = 400
 
@@ -1006,3 +1110,15 @@ redirect.example.net/
 # Redirected URL = http://redirect2.example.net/blafasel?x=http://redirected.example.net/&parameter1=part-of-the-redirected-url1&parameter2=part-of-the-redirected-url1
 # Redirect Destination = http://redirected.example.net/&parameter1=part-of-the-redirected-url1&parameter2=part-of-the-redirected-url1
 redirect2.example.net/
+
+{+delay-response{1}}
+# Fetch Test = http://config.privoxy.org/show-url-info?url=http%3A%2F%2Fwww.example.com%2Fprivoxy-test-delay-response
+config.privoxy.org/show-url-info\?url=http%3A%2F%2Fwww\.example\.com%2Fprivoxy-test-delay-response
+
+{+block{Block with pcre host pattern}}
+# Blocked URL = http://aaa.example.org/
+# Level = 26
+PCRE-HOST-PATTERN:^a{3}\.example\.org$
+# Blocked URL = http://bbb.example.org/
+# Level = 26
+PCRE-HOST-PATTERN:^(bbb|ccc|ddd)\.example\.org$