git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 2/4] t9700: loosen ident timezone regex

From
Jeff King <peff@peff.net>
Date
Jul 9, 2020, 20:35 UTC
Message-ID
<20200709203550.GB661064@coredump.intra.peff.net>
In-Reply-To
<20200709203336.GA2748777@coredump.intra.peff.net>

A few of the perl tests in t9700 ask for the author and committer ident, and then make sure we get something sensible. For the timestamp portion, we just match [0-9]+, because the actual value will depend on when the test is run. However, we do require that the timezone be "+0000". This works reliably because we set $TZ in test-lib.sh. But in preparation for changing the default timezone, let's be a bit more flexible. We don't actually care about the exact value here, just that we were able to get a sensible output from the perl module's access methods.

Signed-off-by: Jeff King <peff@peff.net>
---
Alternatively, we could use test_tick here and then make sure we got the
expected timestamp. Or revisit it after patch 4 and use the default date
from there. But I think the intent of the tests is fulfilled by
remaining flexible.
 t/t9700/test.pl | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/t/t9700/test.pl b/t/t9700/test.pl
index 34cd01366f..c59a015f89 100755
--- a/t/t9700/test.pl
+++ b/t/t9700/test.pl
@@ -59,15 +59,15 @@ sub adjust_dirsep {
 open STDERR, ">&", $tmpstderr or die "cannot restore STDERR";
 
 # ident
-like($r->ident("aUthor"), qr/^A U Thor <author\@example.com> [0-9]+ \+0000$/,
+like($r->ident("aUthor"), qr/^A U Thor <author\@example.com> [0-9]+ [+-]\d{4}$/,
      "ident scalar: author (type)");
-like($r->ident("cOmmitter"), qr/^C O Mitter <committer\@example.com> [0-9]+ \+0000$/,
+like($r->ident("cOmmitter"), qr/^C O Mitter <committer\@example.com> [0-9]+ [+-]\d{4}$/,
      "ident scalar: committer (type)");
 is($r->ident("invalid"), "invalid", "ident scalar: invalid ident string (no parsing)");
 my ($name, $email, $time_tz) = $r->ident('author');
 is_deeply([$name, $email], ["A U Thor", "author\@example.com"],
 	 "ident array: author");
-like($time_tz, qr/[0-9]+ \+0000/, "ident array: author");
+like($time_tz, qr/[0-9]+ [+-]\d{4}/, "ident array: author");
 is_deeply([$r->ident("Name <email> 123 +0000")], ["Name", "email", "123 +0000"],
 	  "ident array: ident string");
 is_deeply([$r->ident("invalid")], [], "ident array: invalid ident string");
-- 
2.27.0.730.gcc195a083d
Previous: Jeff KingNext: Jeff King
Message 3 of 13 in “deterministic commit timestamps in tests”
  1. 0/4 deterministic commit timestamps in testsJeff King, Jul 9, 2020
  2. 1/4 t6000: use test_tick consistentlyJeff King, Jul 9, 2020
  3. 2/4 t9700: loosen ident timezone regexJeff King, Jul 9, 2020
  4. 3/4 t5539: make timestamp requirements more explicitJeff King, Jul 9, 2020
  5. 4/4 test-lib: set deterministic default author/committer dateJeff King, Jul 9, 2020
  6. Junio C HamanoJul 10, 2020
  7. Jeff KingJul 14, 2020
  8. Jeff KingJul 14, 2020
  9. Eric WongJul 14, 2020
  10. Jeff KingJul 15, 2020
  11. Junio C HamanoJul 15, 2020
  12. Junio C HamanoJul 15, 2020
  13. Jeff KingJul 16, 2020

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.