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