Raw
1 #!/bin/sh
2
3 test_description='git cvsimport timestamps'
4
5 . ./lib-cvs.sh
6
7 test_lazy_prereq POSIX_TIMEZONE '
8 local tz=XST-1XDT,M3.5.0,M11.1.0
9 echo "1711846799 -> 2024-03-31 01:59:59 +0100" >expected &&
10 TZ="$tz" test-tool date show:iso-local 1711846799 >actual &&
11 test_cmp expected actual &&
12 echo "1711846800 -> 2024-03-31 03:00:00 +0200" >expected &&
13 TZ="$tz" test-tool date show:iso-local 1711846800 >actual &&
14 test_cmp expected actual &&
15 echo "1730591999 -> 2024-11-03 01:59:59 +0200" >expected &&
16 TZ="$tz" test-tool date show:iso-local 1730591999 >actual &&
17 test_cmp expected actual &&
18 echo "1730592000 -> 2024-11-03 01:00:00 +0100" >expected &&
19 TZ="$tz" test-tool date show:iso-local 1730592000 >actual &&
20 test_cmp expected actual
21 '
22
23 setup_cvs_test_repository t9604
24
25 test_expect_success PERL,POSIX_TIMEZONE 'check timestamps are UTC' '
26
27 TZ=CST6CDT,M4.1.0,M10.5.0 \
28 git cvsimport -p"-x" -C module-1 module &&
29 git cvsimport -p"-x" -C module-1 module &&
30 (
31 cd module-1 &&
32 git log --format="%s %ai"
33 ) >actual-1 &&
34 cat >expect-1 <<-EOF &&
35 Rev 16 2006-10-29 07:00:01 +0000
36 Rev 15 2006-10-29 06:59:59 +0000
37 Rev 14 2006-04-02 08:00:01 +0000
38 Rev 13 2006-04-02 07:59:59 +0000
39 Rev 12 2005-12-01 00:00:00 +0000
40 Rev 11 2005-11-01 00:00:00 +0000
41 Rev 10 2005-10-01 00:00:00 +0000
42 Rev 9 2005-09-01 00:00:00 +0000
43 Rev 8 2005-08-01 00:00:00 +0000
44 Rev 7 2005-07-01 00:00:00 +0000
45 Rev 6 2005-06-01 00:00:00 +0000
46 Rev 5 2005-05-01 00:00:00 +0000
47 Rev 4 2005-04-01 00:00:00 +0000
48 Rev 3 2005-03-01 00:00:00 +0000
49 Rev 2 2005-02-01 00:00:00 +0000
50 Rev 1 2005-01-01 00:00:00 +0000
51 EOF
52 test_cmp expect-1 actual-1
53 '
54
55 test_expect_success PERL,POSIX_TIMEZONE 'check timestamps with author-specific timezones' '
56
57 cat >cvs-authors <<-EOF &&
58 user1=User One <user1@domain.org>
59 user2=User Two <user2@domain.org> CST6CDT,M4.1.0,M10.5.0
60 user3=User Three <user3@domain.org> EST5EDT,M4.1.0,M10.5.0
61 user4=User Four <user4@domain.org> MST7MDT,M4.1.0,M10.5.0
62 EOF
63 git cvsimport -p"-x" -A cvs-authors -C module-2 module &&
64 (
65 cd module-2 &&
66 git log --format="%s %ai %an"
67 ) >actual-2 &&
68 cat >expect-2 <<-EOF &&
69 Rev 16 2006-10-29 01:00:01 -0600 User Two
70 Rev 15 2006-10-29 01:59:59 -0500 User Two
71 Rev 14 2006-04-02 03:00:01 -0500 User Two
72 Rev 13 2006-04-02 01:59:59 -0600 User Two
73 Rev 12 2005-11-30 17:00:00 -0700 User Four
74 Rev 11 2005-10-31 19:00:00 -0500 User Three
75 Rev 10 2005-09-30 19:00:00 -0500 User Two
76 Rev 9 2005-09-01 00:00:00 +0000 User One
77 Rev 8 2005-07-31 18:00:00 -0600 User Four
78 Rev 7 2005-06-30 20:00:00 -0400 User Three
79 Rev 6 2005-05-31 19:00:00 -0500 User Two
80 Rev 5 2005-05-01 00:00:00 +0000 User One
81 Rev 4 2005-03-31 17:00:00 -0700 User Four
82 Rev 3 2005-02-28 19:00:00 -0500 User Three
83 Rev 2 2005-01-31 18:00:00 -0600 User Two
84 Rev 1 2005-01-01 00:00:00 +0000 User One
85 EOF
86 test_cmp expect-2 actual-2
87 '
88
89 test_done