[PATCH] Tests: fixed proxy_cache_age.t with older Perl versions

Maxim Dounin mdounin at mdounin.ru
Thu Aug 1 07:36:58 UTC 2024


# HG changeset patch
# User Maxim Dounin <mdounin at mdounin.ru>
# Date 1722497739 -10800
#      Thu Aug 01 10:35:39 2024 +0300
# Node ID d715aff0b61d4c3f48f6de84cd06aa7847e1f711
# Parent  a8c4d48a4073e5ec6745e4bddd2d4a844af3c0b7
Tests: fixed proxy_cache_age.t with older Perl versions.

The test used regular expressions with "{,n}" quantifier with empty
lower bound, which is only available starting with Perl 5.34.0.  Further,
it used variable-length look-behind assertions, which are only available
starting with Perl 5.30.0 and emit experimental warning till Perl 5.36.0.

Fix is to rewrite regular expressions in question using "(?>pattern)"
instead (an independent subexpression), which is available since at least
Perl 5.005.

diff --git a/proxy_cache_age.t b/proxy_cache_age.t
--- a/proxy_cache_age.t
+++ b/proxy_cache_age.t
@@ -123,11 +123,11 @@ like(get('/ignore/noage'), qr/HIT/, 'noa
 
 sleep(2);
 
-like(http_get('/fresh'), qr/(?<!Age:.{,200})Age: 9[1-5](?!.*Age:)/ms,
+like(http_get('/fresh'), qr/^(?>.*?Age:) 9[1-5](?!.*Age:)/s,
 	'cached age updated');
-like(http_get('/stale'), qr/(?<!Age:.{,200})Age: 110(?!.*Age:)/ms,
+like(http_get('/stale'), qr/^(?>.*?Age:) 110(?!.*Age:)/s,
 	'not cached age preserved');
-like(http_get('/noage'), qr/(?<!Age:.{,200})Age: [1-5](?!.*Age:)/ms,
+like(http_get('/noage'), qr/^(?>.*?Age:) [1-5](?!.*Age:)/s,
 	'noage age added');
 
 like(http_get('/revalidate'), qr/REVALIDATED(?!.*Age:)/ms,



More information about the nginx-devel mailing list