tests: use $HTTP_DATE$ for Date header
authorGregory Szorc <gregory.szorc@gmail.com>
Tue, 13 Mar 2018 08:58:52 -0700
changeset 37008 16203c6079e7
parent 37007 143219fc2620
child 37009 5890e5872f36
tests: use $HTTP_DATE$ for Date header Support for the $HTTP_DATE$ substitution was recently added. Let's adopt it more widely. We had to tweak the substitution to be case insensitive, since HTTP headers are case insensitive. I also found a minor test issue not globbing over the length of the Server response header. Differential Revision: https://phab.mercurial-scm.org/D2839
tests/common-pattern.py
tests/test-archive.t
tests/test-hgweb-commands.t
tests/test-http-protocol.t
--- a/tests/common-pattern.py	Mon Mar 12 15:49:02 2018 -0700
+++ b/tests/common-pattern.py	Tue Mar 13 08:58:52 2018 -0700
@@ -76,8 +76,8 @@
      lambda m: br' - - [$LOGDATE$] "' + m.group(1)
     ),
     # HTTP header dates- RFC 1123
-    (br'Date: [A-Za-z]{3}, \d\d [A-Za-z]{3} \d{4} \d\d:\d\d:\d\d GMT',
-     br'Date: $HTTP_DATE$'
+    (br'([Dd]ate): [A-Za-z]{3}, \d\d [A-Za-z]{3} \d{4} \d\d:\d\d:\d\d GMT',
+     lambda m: br'%s: $HTTP_DATE$' % m.group(1)
     ),
     # LFS expiration value
     (br'"expires_at": "\d{4}-\d\d-\d\dT\d\d:\d\d:\d\dZ"',
--- a/tests/test-archive.t	Mon Mar 12 15:49:02 2018 -0700
+++ b/tests/test-archive.t	Tue Mar 13 08:58:52 2018 -0700
@@ -126,7 +126,7 @@
   200 Script output follows
   content-disposition: attachment; filename=test-archive-1701ef1f1510.tar.gz
   content-type: application/x-gzip
-  date: * (glob)
+  date: $HTTP_DATE$
   etag: W/"*" (glob)
   server: * (glob)
   transfer-encoding: chunked
@@ -135,7 +135,7 @@
   % tar.bz2 and zip disallowed should both give 403
   403 Archive type not allowed: bz2
   content-type: text/html; charset=ascii
-  date: * (glob)
+  date: $HTTP_DATE$
   etag: W/"*" (glob)
   server: * (glob)
   transfer-encoding: chunked
@@ -143,7 +143,7 @@
   body: size=1451, sha1=4c5cf0f574446c44feb7f88f4e0e2a56bd92c352
   403 Archive type not allowed: zip
   content-type: text/html; charset=ascii
-  date: * (glob)
+  date: $HTTP_DATE$
   etag: W/"*" (glob)
   server: * (glob)
   transfer-encoding: chunked
@@ -154,7 +154,7 @@
   200 Script output follows
   content-disposition: attachment; filename=test-archive-1701ef1f1510.tar.bz2
   content-type: application/x-bzip2
-  date: * (glob)
+  date: $HTTP_DATE$
   etag: W/"*" (glob)
   server: * (glob)
   transfer-encoding: chunked
@@ -163,7 +163,7 @@
   % zip and tar.gz disallowed should both give 403
   403 Archive type not allowed: zip
   content-type: text/html; charset=ascii
-  date: * (glob)
+  date: $HTTP_DATE$
   etag: W/"*" (glob)
   server: * (glob)
   transfer-encoding: chunked
@@ -171,7 +171,7 @@
   body: size=1451, sha1=cbfa5574b337348bfd0564cc534474d002e7d6c7
   403 Archive type not allowed: gz
   content-type: text/html; charset=ascii
-  date: * (glob)
+  date: $HTTP_DATE$
   etag: W/"*" (glob)
   server: * (glob)
   transfer-encoding: chunked
@@ -182,7 +182,7 @@
   200 Script output follows
   content-disposition: attachment; filename=test-archive-1701ef1f1510.zip
   content-type: application/zip
-  date: * (glob)
+  date: $HTTP_DATE$
   etag: W/"*" (glob)
   server: * (glob)
   transfer-encoding: chunked
@@ -191,7 +191,7 @@
   % tar.gz and tar.bz2 disallowed should both give 403
   403 Archive type not allowed: gz
   content-type: text/html; charset=ascii
-  date: * (glob)
+  date: $HTTP_DATE$
   etag: W/"*" (glob)
   server: * (glob)
   transfer-encoding: chunked
@@ -199,7 +199,7 @@
   body: size=1450, sha1=71f0b12d59f85fdcfe8ff493e2dc66863f2f7734
   403 Archive type not allowed: bz2
   content-type: text/html; charset=ascii
-  date: * (glob)
+  date: $HTTP_DATE$
   etag: W/"*" (glob)
   server: * (glob)
   transfer-encoding: chunked
@@ -213,7 +213,7 @@
   200 Script output follows
   content-disposition: attachment; filename=test-archive-1701ef1f1510.tar.gz
   content-type: application/x-gzip
-  date: * (glob)
+  date: $HTTP_DATE$
   etag: W/"*" (glob)
   server: * (glob)
   transfer-encoding: chunked
@@ -222,7 +222,7 @@
   % tar.bz2 and zip disallowed should both give 403
   403 Archive type not allowed: bz2
   content-type: text/html; charset=ascii
-  date: * (glob)
+  date: $HTTP_DATE$
   etag: W/"*" (glob)
   server: * (glob)
   transfer-encoding: chunked
@@ -230,7 +230,7 @@
   body: size=1451, sha1=4c5cf0f574446c44feb7f88f4e0e2a56bd92c352
   403 Archive type not allowed: zip
   content-type: text/html; charset=ascii
-  date: * (glob)
+  date: $HTTP_DATE$
   etag: W/"*" (glob)
   server: * (glob)
   transfer-encoding: chunked
@@ -241,7 +241,7 @@
   200 Script output follows
   content-disposition: attachment; filename=test-archive-1701ef1f1510.tar.bz2
   content-type: application/x-bzip2
-  date: * (glob)
+  date: $HTTP_DATE$
   etag: W/"*" (glob)
   server: * (glob)
   transfer-encoding: chunked
@@ -250,7 +250,7 @@
   % zip and tar.gz disallowed should both give 403
   403 Archive type not allowed: zip
   content-type: text/html; charset=ascii
-  date: * (glob)
+  date: $HTTP_DATE$
   etag: W/"*" (glob)
   server: * (glob)
   transfer-encoding: chunked
@@ -258,7 +258,7 @@
   body: size=1451, sha1=cbfa5574b337348bfd0564cc534474d002e7d6c7
   403 Archive type not allowed: gz
   content-type: text/html; charset=ascii
-  date: * (glob)
+  date: $HTTP_DATE$
   etag: W/"*" (glob)
   server: * (glob)
   transfer-encoding: chunked
@@ -269,7 +269,7 @@
   200 Script output follows
   content-disposition: attachment; filename=test-archive-1701ef1f1510.zip
   content-type: application/zip
-  date: * (glob)
+  date: $HTTP_DATE$
   etag: W/"*" (glob)
   server: * (glob)
   transfer-encoding: chunked
@@ -278,7 +278,7 @@
   % tar.gz and tar.bz2 disallowed should both give 403
   403 Archive type not allowed: gz
   content-type: text/html; charset=ascii
-  date: * (glob)
+  date: $HTTP_DATE$
   etag: W/"*" (glob)
   server: * (glob)
   transfer-encoding: chunked
@@ -286,7 +286,7 @@
   body: size=1450, sha1=71f0b12d59f85fdcfe8ff493e2dc66863f2f7734
   403 Archive type not allowed: bz2
   content-type: text/html; charset=ascii
-  date: * (glob)
+  date: $HTTP_DATE$
   etag: W/"*" (glob)
   server: * (glob)
   transfer-encoding: chunked
--- a/tests/test-hgweb-commands.t	Mon Mar 12 15:49:02 2018 -0700
+++ b/tests/test-hgweb-commands.t	Tue Mar 13 08:58:52 2018 -0700
@@ -1923,7 +1923,7 @@
   404 Not Found
   content-length: 12
   content-type: application/mercurial-0.1
-  date: * (glob)
+  date: $HTTP_DATE$
   server: * (glob)
   
   0
--- a/tests/test-http-protocol.t	Mon Mar 12 15:49:02 2018 -0700
+++ b/tests/test-http-protocol.t	Tue Mar 13 08:58:52 2018 -0700
@@ -49,7 +49,7 @@
   $ get-with-headers.py --headeronly $LOCALIP:$HGPORT '?cmd=getbundle&heads=e93700bd72895c5addab234c56d4024b487a362f&common=0000000000000000000000000000000000000000' -
   200 Script output follows
   content-type: application/mercurial-0.1
-  date: * (glob)
+  date: $HTTP_DATE$
   server: * (glob)
   transfer-encoding: chunked
 
@@ -58,7 +58,7 @@
   $ get-with-headers.py --hgproto '0.1' --headeronly $LOCALIP:$HGPORT '?cmd=getbundle&heads=e93700bd72895c5addab234c56d4024b487a362f&common=0000000000000000000000000000000000000000' -
   200 Script output follows
   content-type: application/mercurial-0.1
-  date: * (glob)
+  date: $HTTP_DATE$
   server: * (glob)
   transfer-encoding: chunked
 
@@ -67,14 +67,14 @@
   $ get-with-headers.py --hgproto '0.2' --headeronly $LOCALIP:$HGPORT '?cmd=getbundle&heads=e93700bd72895c5addab234c56d4024b487a362f&common=0000000000000000000000000000000000000000' -
   200 Script output follows
   content-type: application/mercurial-0.2
-  date: * (glob)
+  date: $HTTP_DATE$
   server: * (glob)
   transfer-encoding: chunked
 
   $ get-with-headers.py --hgproto '0.1 0.2' --headeronly $LOCALIP:$HGPORT '?cmd=getbundle&heads=e93700bd72895c5addab234c56d4024b487a362f&common=0000000000000000000000000000000000000000' -
   200 Script output follows
   content-type: application/mercurial-0.2
-  date: * (glob)
+  date: $HTTP_DATE$
   server: * (glob)
   transfer-encoding: chunked
 
@@ -83,7 +83,7 @@
   $ get-with-headers.py --hgproto '0.2 comp=aa' --headeronly $LOCALIP:$HGPORT '?cmd=getbundle&heads=e93700bd72895c5addab234c56d4024b487a362f&common=0000000000000000000000000000000000000000' -
   200 Script output follows
   content-type: application/mercurial-0.1
-  date: * (glob)
+  date: $HTTP_DATE$
   server: * (glob)
   transfer-encoding: chunked
 
@@ -105,7 +105,7 @@
   200 Script output follows
   content-length: 41
   content-type: application/mercurial-0.1
-  date: * (glob)
+  date: $HTTP_DATE$
   server: * (glob)
   
   e93700bd72895c5addab234c56d4024b487a362f