##// END OF EJS Templates
tests: add check to make sure summary works on Python 2
Pulkit Goyal -
r31717:62676bb8 default
parent child Browse files
Show More
@@ -1,153 +1,161 b''
1 #require py3exe
1 #require py3exe
2
2
3 This test helps in keeping a track on which commands we can run on
3 This test helps in keeping a track on which commands we can run on
4 Python 3 and see what kind of errors are coming up.
4 Python 3 and see what kind of errors are coming up.
5 The full traceback is hidden to have a stable output.
5 The full traceback is hidden to have a stable output.
6 $ HGBIN=`which hg`
6 $ HGBIN=`which hg`
7
7
8 $ for cmd in version debuginstall ; do
8 $ for cmd in version debuginstall ; do
9 > echo $cmd
9 > echo $cmd
10 > $PYTHON3 $HGBIN $cmd 2>&1 2>&1 | tail -1
10 > $PYTHON3 $HGBIN $cmd 2>&1 2>&1 | tail -1
11 > done
11 > done
12 version
12 version
13 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 debuginstall
14 debuginstall
15 no problems detected
15 no problems detected
16
16
17 #if test-repo
17 #if test-repo
18 Make a clone so that any features in the developer's .hg/hgrc that
18 Make a clone so that any features in the developer's .hg/hgrc that
19 might confuse Python 3 don't break this test. When we can do commit in
19 might confuse Python 3 don't break this test. When we can do commit in
20 Python 3, we'll stop doing this. We use e76ed1e480ef for the clone
20 Python 3, we'll stop doing this. We use e76ed1e480ef for the clone
21 because it has different files than 273ce12ad8f1, so we can test both
21 because it has different files than 273ce12ad8f1, so we can test both
22 `files` from dirstate and `files` loaded from a specific revision.
22 `files` from dirstate and `files` loaded from a specific revision.
23
23
24 $ hg clone -r e76ed1e480ef "`dirname "$TESTDIR"`" testrepo 2>&1 | tail -1
24 $ hg clone -r e76ed1e480ef "`dirname "$TESTDIR"`" testrepo 2>&1 | tail -1
25 15 files updated, 0 files merged, 0 files removed, 0 files unresolved
25 15 files updated, 0 files merged, 0 files removed, 0 files unresolved
26
26
27 Test using -R, which exercises some URL code:
27 Test using -R, which exercises some URL code:
28 $ $PYTHON3 $HGBIN -R testrepo files -r 273ce12ad8f1 | tail -1
28 $ $PYTHON3 $HGBIN -R testrepo files -r 273ce12ad8f1 | tail -1
29 testrepo/tkmerge
29 testrepo/tkmerge
30
30
31 Now prove `hg files` is reading the whole manifest. We have to grep
31 Now prove `hg files` is reading the whole manifest. We have to grep
32 out some potential warnings that come from hgrc as yet.
32 out some potential warnings that come from hgrc as yet.
33 $ cd testrepo
33 $ cd testrepo
34 $ $PYTHON3 $HGBIN files -r 273ce12ad8f1
34 $ $PYTHON3 $HGBIN files -r 273ce12ad8f1
35 .hgignore
35 .hgignore
36 PKG-INFO
36 PKG-INFO
37 README
37 README
38 hg
38 hg
39 mercurial/__init__.py
39 mercurial/__init__.py
40 mercurial/byterange.py
40 mercurial/byterange.py
41 mercurial/fancyopts.py
41 mercurial/fancyopts.py
42 mercurial/hg.py
42 mercurial/hg.py
43 mercurial/mdiff.py
43 mercurial/mdiff.py
44 mercurial/revlog.py
44 mercurial/revlog.py
45 mercurial/transaction.py
45 mercurial/transaction.py
46 notes.txt
46 notes.txt
47 setup.py
47 setup.py
48 tkmerge
48 tkmerge
49
49
50 $ $PYTHON3 $HGBIN files -r 273ce12ad8f1 | wc -l
50 $ $PYTHON3 $HGBIN files -r 273ce12ad8f1 | wc -l
51 \s*14 (re)
51 \s*14 (re)
52 $ $PYTHON3 $HGBIN files | wc -l
52 $ $PYTHON3 $HGBIN files | wc -l
53 \s*15 (re)
53 \s*15 (re)
54
54
55 Test if log-like commands work:
55 Test if log-like commands work:
56
56
57 $ $PYTHON3 $HGBIN tip
57 $ $PYTHON3 $HGBIN tip
58 changeset: 10:e76ed1e480ef
58 changeset: 10:e76ed1e480ef
59 tag: tip
59 tag: tip
60 user: oxymoron@cinder.waste.org
60 user: oxymoron@cinder.waste.org
61 date: Tue May 03 23:37:43 2005 -0800
61 date: Tue May 03 23:37:43 2005 -0800
62 summary: Fix linking of changeset revs when merging
62 summary: Fix linking of changeset revs when merging
63
63
64
64
65 $ $PYTHON3 $HGBIN log -r0
65 $ $PYTHON3 $HGBIN log -r0
66 changeset: 0:9117c6561b0b
66 changeset: 0:9117c6561b0b
67 user: mpm@selenic.com
67 user: mpm@selenic.com
68 date: Tue May 03 13:16:10 2005 -0800
68 date: Tue May 03 13:16:10 2005 -0800
69 summary: Add back links from file revisions to changeset revisions
69 summary: Add back links from file revisions to changeset revisions
70
70
71
71
72 $ cd ..
72 $ cd ..
73 #endif
73 #endif
74
74
75 Test if `hg config` works:
75 Test if `hg config` works:
76
76
77 $ $PYTHON3 $HGBIN config
77 $ $PYTHON3 $HGBIN config
78 defaults.backout=-d "0 0"
78 defaults.backout=-d "0 0"
79 defaults.commit=-d "0 0"
79 defaults.commit=-d "0 0"
80 defaults.shelve=--date "0 0"
80 defaults.shelve=--date "0 0"
81 defaults.tag=-d "0 0"
81 defaults.tag=-d "0 0"
82 devel.all-warnings=true
82 devel.all-warnings=true
83 largefiles.usercache=$TESTTMP/.cache/largefiles
83 largefiles.usercache=$TESTTMP/.cache/largefiles
84 ui.slash=True
84 ui.slash=True
85 ui.interactive=False
85 ui.interactive=False
86 ui.mergemarkers=detailed
86 ui.mergemarkers=detailed
87 ui.promptecho=True
87 ui.promptecho=True
88 web.address=localhost
88 web.address=localhost
89 web.ipv6=False
89 web.ipv6=False
90
90
91 $ cat > included-hgrc <<EOF
91 $ cat > included-hgrc <<EOF
92 > [extensions]
92 > [extensions]
93 > babar = imaginary_elephant
93 > babar = imaginary_elephant
94 > EOF
94 > EOF
95 $ cat >> $HGRCPATH <<EOF
95 $ cat >> $HGRCPATH <<EOF
96 > %include $TESTTMP/included-hgrc
96 > %include $TESTTMP/included-hgrc
97 > EOF
97 > EOF
98 $ $PYTHON3 $HGBIN version | tail -1
98 $ $PYTHON3 $HGBIN version | tail -1
99 *** failed to import extension babar from imaginary_elephant: *: 'imaginary_elephant' (glob)
99 *** failed to import extension babar from imaginary_elephant: *: 'imaginary_elephant' (glob)
100 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
100 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
101
101
102 $ rm included-hgrc
102 $ rm included-hgrc
103 $ touch included-hgrc
103 $ touch included-hgrc
104
104
105 Test bytes-ness of policy.policy with HGMODULEPOLICY
105 Test bytes-ness of policy.policy with HGMODULEPOLICY
106
106
107 $ HGMODULEPOLICY=py
107 $ HGMODULEPOLICY=py
108 $ export HGMODULEPOLICY
108 $ export HGMODULEPOLICY
109 $ $PYTHON3 `which hg` debuginstall 2>&1 2>&1 | tail -1
109 $ $PYTHON3 `which hg` debuginstall 2>&1 2>&1 | tail -1
110 no problems detected
110 no problems detected
111
111
112 `hg init` can create empty repos
112 `hg init` can create empty repos
113 `hg status works fine`
113 `hg status works fine`
114 `hg summary` also works!
114
115
115 $ $PYTHON3 `which hg` init py3repo
116 $ $PYTHON3 `which hg` init py3repo
116 $ cd py3repo
117 $ cd py3repo
117 $ echo "This is the file 'iota'." > iota
118 $ echo "This is the file 'iota'." > iota
118 $ $PYTHON3 $HGBIN status
119 $ $PYTHON3 $HGBIN status
119 ? iota
120 ? iota
120 $ $PYTHON3 $HGBIN add iota
121 $ $PYTHON3 $HGBIN add iota
121 $ $PYTHON3 $HGBIN status
122 $ $PYTHON3 $HGBIN status
122 A iota
123 A iota
123 $ $PYTHON3 $HGBIN commit --message 'commit performed in Python 3'
124 $ $PYTHON3 $HGBIN commit --message 'commit performed in Python 3'
124 $ $PYTHON3 $HGBIN status
125 $ $PYTHON3 $HGBIN status
125
126
126 $ mkdir A
127 $ mkdir A
127 $ echo "This is the file 'mu'." > A/mu
128 $ echo "This is the file 'mu'." > A/mu
128 $ $PYTHON3 $HGBIN addremove
129 $ $PYTHON3 $HGBIN addremove
129 adding A/mu
130 adding A/mu
130 $ $PYTHON3 $HGBIN status
131 $ $PYTHON3 $HGBIN status
131 A A/mu
132 A A/mu
132 $ HGEDITOR='echo message > ' $PYTHON3 $HGBIN commit
133 $ HGEDITOR='echo message > ' $PYTHON3 $HGBIN commit
133 $ $PYTHON3 $HGBIN status
134 $ $PYTHON3 $HGBIN status
135 $ $PYHON3 $HGBIN summary
136 parent: 1:e1e9167203d4 tip
137 message
138 branch: default
139 commit: (clean)
140 update: (current)
141 phases: 2 draft
134
142
135 Prove the repo is valid using the Python 2 `hg`:
143 Prove the repo is valid using the Python 2 `hg`:
136 $ hg verify
144 $ hg verify
137 checking changesets
145 checking changesets
138 checking manifests
146 checking manifests
139 crosschecking files in changesets and manifests
147 crosschecking files in changesets and manifests
140 checking files
148 checking files
141 2 files, 2 changesets, 2 total revisions
149 2 files, 2 changesets, 2 total revisions
142 $ hg log
150 $ hg log
143 changeset: 1:e1e9167203d4
151 changeset: 1:e1e9167203d4
144 tag: tip
152 tag: tip
145 user: test
153 user: test
146 date: Thu Jan 01 00:00:00 1970 +0000
154 date: Thu Jan 01 00:00:00 1970 +0000
147 summary: message
155 summary: message
148
156
149 changeset: 0:71c96e924262
157 changeset: 0:71c96e924262
150 user: test
158 user: test
151 date: Thu Jan 01 00:00:00 1970 +0000
159 date: Thu Jan 01 00:00:00 1970 +0000
152 summary: commit performed in Python 3
160 summary: commit performed in Python 3
153
161
General Comments 0
You need to be logged in to leave comments. Login now