# HG changeset patch # User Nicolas Dumazet # Date 1283162100 -32400 # Node ID 323292c2e566f0b9407b7bba5d6852cedad2546a # Parent 9bab9ee901e81e45588ff18e6cf82a6df0a58625 tests: unify test-parse-date diff -r 9bab9ee901e8 -r 323292c2e566 tests/test-parse-date --- a/tests/test-parse-date Mon Aug 30 18:50:44 2010 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,87 +0,0 @@ -#!/bin/sh - -# This runs with TZ="GMT" -hg init -echo "test-parse-date" > a -hg add a -hg ci -d "2006-02-01 13:00:30" -m "rev 0" -echo "hi!" >> a -hg ci -d "2006-02-01 13:00:30 -0500" -m "rev 1" -hg tag -d "2006-04-15 13:30" "Hi" -hg backout --merge -d "2006-04-15 13:30 +0200" -m "rev 3" 1 -hg ci -d "1150000000 14400" -m "rev 4 (merge)" -echo "fail" >> a -hg ci -d "should fail" -m "fail" -hg ci -d "100000000000000000 1400" -m "fail" -hg ci -d "100000 1400000" -m "fail" - -# Check with local timezone other than GMT and with DST -TZ="PST+8PDT" -export TZ -# PST=UTC-8 / PDT=UTC-7 -hg debugrebuildstate -echo "a" > a -hg ci -d "2006-07-15 13:30" -m "summer@UTC-7" -hg debugrebuildstate -echo "b" > a -hg ci -d "2006-07-15 13:30 +0500" -m "summer@UTC+5" -hg debugrebuildstate -echo "c" > a -hg ci -d "2006-01-15 13:30" -m "winter@UTC-8" -hg debugrebuildstate -echo "d" > a -hg ci -d "2006-01-15 13:30 +0500" -m "winter@UTC+5" -hg log --template '{date|date}\n' - -# Test issue1014 (fractional timezones) -hg debugdate "1000000000 -16200" # 0430 -hg debugdate "1000000000 -15300" # 0415 -hg debugdate "1000000000 -14400" # 0400 -hg debugdate "1000000000 0" # GMT -hg debugdate "1000000000 14400" # -0400 -hg debugdate "1000000000 15300" # -0415 -hg debugdate "1000000000 16200" # -0430 -hg debugdate "Sat Sep 08 21:16:40 2001 +0430" -hg debugdate "Sat Sep 08 21:16:40 2001 -0430" - -# Test 12-hours times -hg debugdate "2006-02-01 1:00:30PM +0000" -hg debugdate "1:00:30PM" > /dev/null || echo 'failed' - -#Test date formats with '>' or '<' accompanied by space characters -hg log -d '>' --template '{date|date}\n' -hg log -d '<' hg log -d '>' --template '{date|date}\n' - -hg log -d ' >' --template '{date|date}\n' -hg log -d ' <' --template '{date|date}\n' - -hg log -d '> ' --template '{date|date}\n' -hg log -d '< ' --template '{date|date}\n' - -hg log -d ' > ' --template '{date|date}\n' -hg log -d ' < ' --template '{date|date}\n' - - -hg log -d '>02/01' --template '{date|date}\n' -hg log -d '<02/01' --template '{date|date}\n' - -hg log -d ' >02/01' --template '{date|date}\n' -hg log -d ' <02/01' --template '{date|date}\n' - -hg log -d '> 02/01' --template '{date|date}\n' -hg log -d '< 02/01' --template '{date|date}\n' - -hg log -d ' > 02/01' --template '{date|date}\n' -hg log -d ' < 02/01' --template '{date|date}\n' - -hg log -d '>02/01 ' --template '{date|date}\n' -hg log -d '<02/01 ' --template '{date|date}\n' - -hg log -d ' >02/01 ' --template '{date|date}\n' -hg log -d ' <02/01 ' --template '{date|date}\n' - -hg log -d '> 02/01 ' --template '{date|date}\n' -hg log -d '< 02/01 ' --template '{date|date}\n' - -hg log -d ' > 02/01 ' --template '{date|date}\n' -hg log -d ' < 02/01 ' --template '{date|date}\n' diff -r 9bab9ee901e8 -r 323292c2e566 tests/test-parse-date.out --- a/tests/test-parse-date.out Mon Aug 30 18:50:44 2010 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,146 +0,0 @@ -reverting a -created new head -changeset 3:107ce1ee2b43 backs out changeset 1:25a1420a55f8 -merging with changeset 3:107ce1ee2b43 -1 files updated, 0 files merged, 0 files removed, 0 files unresolved -(branch merge, don't forget to commit) -abort: invalid date: 'should fail' -abort: date exceeds 32 bits: 100000000000000000 -abort: impossible time zone offset: 1400000 -Sun Jan 15 13:30:00 2006 +0500 -Sun Jan 15 13:30:00 2006 -0800 -Sat Jul 15 13:30:00 2006 +0500 -Sat Jul 15 13:30:00 2006 -0700 -Sun Jun 11 00:26:40 2006 -0400 -Sat Apr 15 13:30:00 2006 +0200 -Sat Apr 15 13:30:00 2006 +0000 -Wed Feb 01 13:00:30 2006 -0500 -Wed Feb 01 13:00:30 2006 +0000 -internal: 1000000000 -16200 -standard: Sun Sep 09 06:16:40 2001 +0430 -internal: 1000000000 -15300 -standard: Sun Sep 09 06:01:40 2001 +0415 -internal: 1000000000 -14400 -standard: Sun Sep 09 05:46:40 2001 +0400 -internal: 1000000000 0 -standard: Sun Sep 09 01:46:40 2001 +0000 -internal: 1000000000 14400 -standard: Sat Sep 08 21:46:40 2001 -0400 -internal: 1000000000 15300 -standard: Sat Sep 08 21:31:40 2001 -0415 -internal: 1000000000 16200 -standard: Sat Sep 08 21:16:40 2001 -0430 -internal: 999967600 -16200 -standard: Sat Sep 08 21:16:40 2001 +0430 -internal: 1000000000 16200 -standard: Sat Sep 08 21:16:40 2001 -0430 -internal: 1138798830 0 -standard: Wed Feb 01 13:00:30 2006 +0000 -Sun Jan 15 13:30:00 2006 +0500 -Sun Jan 15 13:30:00 2006 -0800 -Sat Jul 15 13:30:00 2006 +0500 -Sat Jul 15 13:30:00 2006 -0700 -Sun Jun 11 00:26:40 2006 -0400 -Sat Apr 15 13:30:00 2006 +0200 -Sat Apr 15 13:30:00 2006 +0000 -Wed Feb 01 13:00:30 2006 -0500 -Wed Feb 01 13:00:30 2006 +0000 -Sun Jan 15 13:30:00 2006 +0500 -Sun Jan 15 13:30:00 2006 -0800 -Sat Jul 15 13:30:00 2006 +0500 -Sat Jul 15 13:30:00 2006 -0700 -Sun Jun 11 00:26:40 2006 -0400 -Sat Apr 15 13:30:00 2006 +0200 -Sat Apr 15 13:30:00 2006 +0000 -Wed Feb 01 13:00:30 2006 -0500 -Wed Feb 01 13:00:30 2006 +0000 -Sun Jan 15 13:30:00 2006 +0500 -Sun Jan 15 13:30:00 2006 -0800 -Sat Jul 15 13:30:00 2006 +0500 -Sat Jul 15 13:30:00 2006 -0700 -Sun Jun 11 00:26:40 2006 -0400 -Sat Apr 15 13:30:00 2006 +0200 -Sat Apr 15 13:30:00 2006 +0000 -Wed Feb 01 13:00:30 2006 -0500 -Wed Feb 01 13:00:30 2006 +0000 -Sun Jan 15 13:30:00 2006 +0500 -Sun Jan 15 13:30:00 2006 -0800 -Sat Jul 15 13:30:00 2006 +0500 -Sat Jul 15 13:30:00 2006 -0700 -Sun Jun 11 00:26:40 2006 -0400 -Sat Apr 15 13:30:00 2006 +0200 -Sat Apr 15 13:30:00 2006 +0000 -Wed Feb 01 13:00:30 2006 -0500 -Wed Feb 01 13:00:30 2006 +0000 -Sun Jan 15 13:30:00 2006 +0500 -Sun Jan 15 13:30:00 2006 -0800 -Sat Jul 15 13:30:00 2006 +0500 -Sat Jul 15 13:30:00 2006 -0700 -Sun Jun 11 00:26:40 2006 -0400 -Sat Apr 15 13:30:00 2006 +0200 -Sat Apr 15 13:30:00 2006 +0000 -Wed Feb 01 13:00:30 2006 -0500 -Wed Feb 01 13:00:30 2006 +0000 -Sun Jan 15 13:30:00 2006 +0500 -Sun Jan 15 13:30:00 2006 -0800 -Sat Jul 15 13:30:00 2006 +0500 -Sat Jul 15 13:30:00 2006 -0700 -Sun Jun 11 00:26:40 2006 -0400 -Sat Apr 15 13:30:00 2006 +0200 -Sat Apr 15 13:30:00 2006 +0000 -Wed Feb 01 13:00:30 2006 -0500 -Wed Feb 01 13:00:30 2006 +0000 -Sun Jan 15 13:30:00 2006 +0500 -Sun Jan 15 13:30:00 2006 -0800 -Sat Jul 15 13:30:00 2006 +0500 -Sat Jul 15 13:30:00 2006 -0700 -Sun Jun 11 00:26:40 2006 -0400 -Sat Apr 15 13:30:00 2006 +0200 -Sat Apr 15 13:30:00 2006 +0000 -Wed Feb 01 13:00:30 2006 -0500 -Wed Feb 01 13:00:30 2006 +0000 -Sun Jan 15 13:30:00 2006 +0500 -Sun Jan 15 13:30:00 2006 -0800 -Sat Jul 15 13:30:00 2006 +0500 -Sat Jul 15 13:30:00 2006 -0700 -Sun Jun 11 00:26:40 2006 -0400 -Sat Apr 15 13:30:00 2006 +0200 -Sat Apr 15 13:30:00 2006 +0000 -Wed Feb 01 13:00:30 2006 -0500 -Wed Feb 01 13:00:30 2006 +0000 -Sun Jan 15 13:30:00 2006 +0500 -Sun Jan 15 13:30:00 2006 -0800 -Sat Jul 15 13:30:00 2006 +0500 -Sat Jul 15 13:30:00 2006 -0700 -Sun Jun 11 00:26:40 2006 -0400 -Sat Apr 15 13:30:00 2006 +0200 -Sat Apr 15 13:30:00 2006 +0000 -Wed Feb 01 13:00:30 2006 -0500 -Wed Feb 01 13:00:30 2006 +0000 -Sun Jan 15 13:30:00 2006 +0500 -Sun Jan 15 13:30:00 2006 -0800 -Sat Jul 15 13:30:00 2006 +0500 -Sat Jul 15 13:30:00 2006 -0700 -Sun Jun 11 00:26:40 2006 -0400 -Sat Apr 15 13:30:00 2006 +0200 -Sat Apr 15 13:30:00 2006 +0000 -Wed Feb 01 13:00:30 2006 -0500 -Wed Feb 01 13:00:30 2006 +0000 -Sun Jan 15 13:30:00 2006 +0500 -Sun Jan 15 13:30:00 2006 -0800 -Sat Jul 15 13:30:00 2006 +0500 -Sat Jul 15 13:30:00 2006 -0700 -Sun Jun 11 00:26:40 2006 -0400 -Sat Apr 15 13:30:00 2006 +0200 -Sat Apr 15 13:30:00 2006 +0000 -Wed Feb 01 13:00:30 2006 -0500 -Wed Feb 01 13:00:30 2006 +0000 -Sun Jan 15 13:30:00 2006 +0500 -Sun Jan 15 13:30:00 2006 -0800 -Sat Jul 15 13:30:00 2006 +0500 -Sat Jul 15 13:30:00 2006 -0700 -Sun Jun 11 00:26:40 2006 -0400 -Sat Apr 15 13:30:00 2006 +0200 -Sat Apr 15 13:30:00 2006 +0000 -Wed Feb 01 13:00:30 2006 -0500 -Wed Feb 01 13:00:30 2006 +0000 diff -r 9bab9ee901e8 -r 323292c2e566 tests/test-parse-date.t --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-parse-date.t Mon Aug 30 18:55:00 2010 +0900 @@ -0,0 +1,237 @@ +This runs with TZ="GMT" + + $ hg init + $ echo "test-parse-date" > a + $ hg add a + $ hg ci -d "2006-02-01 13:00:30" -m "rev 0" + $ echo "hi!" >> a + $ hg ci -d "2006-02-01 13:00:30 -0500" -m "rev 1" + $ hg tag -d "2006-04-15 13:30" "Hi" + $ hg backout --merge -d "2006-04-15 13:30 +0200" -m "rev 3" 1 + reverting a + created new head + changeset 3:107ce1ee2b43 backs out changeset 1:25a1420a55f8 + merging with changeset 3:107ce1ee2b43 + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + (branch merge, don't forget to commit) + $ hg ci -d "1150000000 14400" -m "rev 4 (merge)" + $ echo "fail" >> a + $ hg ci -d "should fail" -m "fail" + abort: invalid date: 'should fail' + $ hg ci -d "100000000000000000 1400" -m "fail" + abort: date exceeds 32 bits: 100000000000000000 + $ hg ci -d "100000 1400000" -m "fail" + abort: impossible time zone offset: 1400000 + +Check with local timezone other than GMT and with DST + + $ TZ="PST+8PDT" + $ export TZ + +PST=UTC-8 / PDT=UTC-7 + + $ hg debugrebuildstate + $ echo "a" > a + $ hg ci -d "2006-07-15 13:30" -m "summer@UTC-7" + $ hg debugrebuildstate + $ echo "b" > a + $ hg ci -d "2006-07-15 13:30 +0500" -m "summer@UTC+5" + $ hg debugrebuildstate + $ echo "c" > a + $ hg ci -d "2006-01-15 13:30" -m "winter@UTC-8" + $ hg debugrebuildstate + $ echo "d" > a + $ hg ci -d "2006-01-15 13:30 +0500" -m "winter@UTC+5" + $ hg log --template '{date|date}\n' + Sun Jan 15 13:30:00 2006 +0500 + Sun Jan 15 13:30:00 2006 -0800 + Sat Jul 15 13:30:00 2006 +0500 + Sat Jul 15 13:30:00 2006 -0700 + Sun Jun 11 00:26:40 2006 -0400 + Sat Apr 15 13:30:00 2006 +0200 + Sat Apr 15 13:30:00 2006 +0000 + Wed Feb 01 13:00:30 2006 -0500 + Wed Feb 01 13:00:30 2006 +0000 + +Test issue1014 (fractional timezones) + + $ hg debugdate "1000000000 -16200" # 0430 + internal: 1000000000 -16200 + standard: Sun Sep 09 06:16:40 2001 +0430 + $ hg debugdate "1000000000 -15300" # 0415 + internal: 1000000000 -15300 + standard: Sun Sep 09 06:01:40 2001 +0415 + $ hg debugdate "1000000000 -14400" # 0400 + internal: 1000000000 -14400 + standard: Sun Sep 09 05:46:40 2001 +0400 + $ hg debugdate "1000000000 0" # GMT + internal: 1000000000 0 + standard: Sun Sep 09 01:46:40 2001 +0000 + $ hg debugdate "1000000000 14400" # -0400 + internal: 1000000000 14400 + standard: Sat Sep 08 21:46:40 2001 -0400 + $ hg debugdate "1000000000 15300" # -0415 + internal: 1000000000 15300 + standard: Sat Sep 08 21:31:40 2001 -0415 + $ hg debugdate "1000000000 16200" # -0430 + internal: 1000000000 16200 + standard: Sat Sep 08 21:16:40 2001 -0430 + $ hg debugdate "Sat Sep 08 21:16:40 2001 +0430" + internal: 999967600 -16200 + standard: Sat Sep 08 21:16:40 2001 +0430 + $ hg debugdate "Sat Sep 08 21:16:40 2001 -0430" + internal: 1000000000 16200 + standard: Sat Sep 08 21:16:40 2001 -0430 + +Test 12-hours times + + $ hg debugdate "2006-02-01 1:00:30PM +0000" + internal: 1138798830 0 + standard: Wed Feb 01 13:00:30 2006 +0000 + $ hg debugdate "1:00:30PM" > /dev/null || echo 'failed' + +Test date formats with '>' or '<' accompanied by space characters + + $ hg log -d '>' --template '{date|date}\n' + Sun Jan 15 13:30:00 2006 +0500 + Sun Jan 15 13:30:00 2006 -0800 + Sat Jul 15 13:30:00 2006 +0500 + Sat Jul 15 13:30:00 2006 -0700 + Sun Jun 11 00:26:40 2006 -0400 + Sat Apr 15 13:30:00 2006 +0200 + Sat Apr 15 13:30:00 2006 +0000 + Wed Feb 01 13:00:30 2006 -0500 + Wed Feb 01 13:00:30 2006 +0000 + $ hg log -d '<' hg log -d '>' --template '{date|date}\n' + + $ hg log -d ' >' --template '{date|date}\n' + Sun Jan 15 13:30:00 2006 +0500 + Sun Jan 15 13:30:00 2006 -0800 + Sat Jul 15 13:30:00 2006 +0500 + Sat Jul 15 13:30:00 2006 -0700 + Sun Jun 11 00:26:40 2006 -0400 + Sat Apr 15 13:30:00 2006 +0200 + Sat Apr 15 13:30:00 2006 +0000 + Wed Feb 01 13:00:30 2006 -0500 + Wed Feb 01 13:00:30 2006 +0000 + $ hg log -d ' <' --template '{date|date}\n' + + $ hg log -d '> ' --template '{date|date}\n' + Sun Jan 15 13:30:00 2006 +0500 + Sun Jan 15 13:30:00 2006 -0800 + Sat Jul 15 13:30:00 2006 +0500 + Sat Jul 15 13:30:00 2006 -0700 + Sun Jun 11 00:26:40 2006 -0400 + Sat Apr 15 13:30:00 2006 +0200 + Sat Apr 15 13:30:00 2006 +0000 + Wed Feb 01 13:00:30 2006 -0500 + Wed Feb 01 13:00:30 2006 +0000 + $ hg log -d '< ' --template '{date|date}\n' + + $ hg log -d ' > ' --template '{date|date}\n' + Sun Jan 15 13:30:00 2006 +0500 + Sun Jan 15 13:30:00 2006 -0800 + Sat Jul 15 13:30:00 2006 +0500 + Sat Jul 15 13:30:00 2006 -0700 + Sun Jun 11 00:26:40 2006 -0400 + Sat Apr 15 13:30:00 2006 +0200 + Sat Apr 15 13:30:00 2006 +0000 + Wed Feb 01 13:00:30 2006 -0500 + Wed Feb 01 13:00:30 2006 +0000 + $ hg log -d ' < ' --template '{date|date}\n' + + $ hg log -d '>02/01' --template '{date|date}\n' + $ hg log -d '<02/01' --template '{date|date}\n' + Sun Jan 15 13:30:00 2006 +0500 + Sun Jan 15 13:30:00 2006 -0800 + Sat Jul 15 13:30:00 2006 +0500 + Sat Jul 15 13:30:00 2006 -0700 + Sun Jun 11 00:26:40 2006 -0400 + Sat Apr 15 13:30:00 2006 +0200 + Sat Apr 15 13:30:00 2006 +0000 + Wed Feb 01 13:00:30 2006 -0500 + Wed Feb 01 13:00:30 2006 +0000 + + $ hg log -d ' >02/01' --template '{date|date}\n' + $ hg log -d ' <02/01' --template '{date|date}\n' + Sun Jan 15 13:30:00 2006 +0500 + Sun Jan 15 13:30:00 2006 -0800 + Sat Jul 15 13:30:00 2006 +0500 + Sat Jul 15 13:30:00 2006 -0700 + Sun Jun 11 00:26:40 2006 -0400 + Sat Apr 15 13:30:00 2006 +0200 + Sat Apr 15 13:30:00 2006 +0000 + Wed Feb 01 13:00:30 2006 -0500 + Wed Feb 01 13:00:30 2006 +0000 + + $ hg log -d '> 02/01' --template '{date|date}\n' + $ hg log -d '< 02/01' --template '{date|date}\n' + Sun Jan 15 13:30:00 2006 +0500 + Sun Jan 15 13:30:00 2006 -0800 + Sat Jul 15 13:30:00 2006 +0500 + Sat Jul 15 13:30:00 2006 -0700 + Sun Jun 11 00:26:40 2006 -0400 + Sat Apr 15 13:30:00 2006 +0200 + Sat Apr 15 13:30:00 2006 +0000 + Wed Feb 01 13:00:30 2006 -0500 + Wed Feb 01 13:00:30 2006 +0000 + + $ hg log -d ' > 02/01' --template '{date|date}\n' + $ hg log -d ' < 02/01' --template '{date|date}\n' + Sun Jan 15 13:30:00 2006 +0500 + Sun Jan 15 13:30:00 2006 -0800 + Sat Jul 15 13:30:00 2006 +0500 + Sat Jul 15 13:30:00 2006 -0700 + Sun Jun 11 00:26:40 2006 -0400 + Sat Apr 15 13:30:00 2006 +0200 + Sat Apr 15 13:30:00 2006 +0000 + Wed Feb 01 13:00:30 2006 -0500 + Wed Feb 01 13:00:30 2006 +0000 + + $ hg log -d '>02/01 ' --template '{date|date}\n' + $ hg log -d '<02/01 ' --template '{date|date}\n' + Sun Jan 15 13:30:00 2006 +0500 + Sun Jan 15 13:30:00 2006 -0800 + Sat Jul 15 13:30:00 2006 +0500 + Sat Jul 15 13:30:00 2006 -0700 + Sun Jun 11 00:26:40 2006 -0400 + Sat Apr 15 13:30:00 2006 +0200 + Sat Apr 15 13:30:00 2006 +0000 + Wed Feb 01 13:00:30 2006 -0500 + Wed Feb 01 13:00:30 2006 +0000 + + $ hg log -d ' >02/01 ' --template '{date|date}\n' + $ hg log -d ' <02/01 ' --template '{date|date}\n' + Sun Jan 15 13:30:00 2006 +0500 + Sun Jan 15 13:30:00 2006 -0800 + Sat Jul 15 13:30:00 2006 +0500 + Sat Jul 15 13:30:00 2006 -0700 + Sun Jun 11 00:26:40 2006 -0400 + Sat Apr 15 13:30:00 2006 +0200 + Sat Apr 15 13:30:00 2006 +0000 + Wed Feb 01 13:00:30 2006 -0500 + Wed Feb 01 13:00:30 2006 +0000 + + $ hg log -d '> 02/01 ' --template '{date|date}\n' + $ hg log -d '< 02/01 ' --template '{date|date}\n' + Sun Jan 15 13:30:00 2006 +0500 + Sun Jan 15 13:30:00 2006 -0800 + Sat Jul 15 13:30:00 2006 +0500 + Sat Jul 15 13:30:00 2006 -0700 + Sun Jun 11 00:26:40 2006 -0400 + Sat Apr 15 13:30:00 2006 +0200 + Sat Apr 15 13:30:00 2006 +0000 + Wed Feb 01 13:00:30 2006 -0500 + Wed Feb 01 13:00:30 2006 +0000 + + $ hg log -d ' > 02/01 ' --template '{date|date}\n' + $ hg log -d ' < 02/01 ' --template '{date|date}\n' + Sun Jan 15 13:30:00 2006 +0500 + Sun Jan 15 13:30:00 2006 -0800 + Sat Jul 15 13:30:00 2006 +0500 + Sat Jul 15 13:30:00 2006 -0700 + Sun Jun 11 00:26:40 2006 -0400 + Sat Apr 15 13:30:00 2006 +0200 + Sat Apr 15 13:30:00 2006 +0000 + Wed Feb 01 13:00:30 2006 -0500 + Wed Feb 01 13:00:30 2006 +0000