test-py3-commands.t
201 lines
| 5.1 KiB
| text/troff
|
Tads3Lexer
/ tests / test-py3-commands.t
Pulkit Goyal
|
r32161 | #require py3exe | ||
This test helps in keeping a track on which commands we can run on | ||||
Python 3 and see what kind of errors are coming up. | ||||
The full traceback is hidden to have a stable output. | ||||
$ HGBIN=`which hg` | ||||
$ for cmd in version debuginstall ; do | ||||
> echo $cmd | ||||
> $PYTHON3 $HGBIN $cmd 2>&1 2>&1 | tail -1 | ||||
> done | ||||
version | ||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||||
debuginstall | ||||
no problems detected | ||||
#if test-repo | ||||
Make a clone so that any features in the developer's .hg/hgrc that | ||||
might confuse Python 3 don't break this test. When we can do commit in | ||||
Python 3, we'll stop doing this. We use e76ed1e480ef for the clone | ||||
because it has different files than 273ce12ad8f1, so we can test both | ||||
`files` from dirstate and `files` loaded from a specific revision. | ||||
$ hg clone -r e76ed1e480ef "`dirname "$TESTDIR"`" testrepo 2>&1 | tail -1 | ||||
15 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
Test using -R, which exercises some URL code: | ||||
$ $PYTHON3 $HGBIN -R testrepo files -r 273ce12ad8f1 | tail -1 | ||||
testrepo/tkmerge | ||||
Now prove `hg files` is reading the whole manifest. We have to grep | ||||
out some potential warnings that come from hgrc as yet. | ||||
$ cd testrepo | ||||
$ $PYTHON3 $HGBIN files -r 273ce12ad8f1 | ||||
.hgignore | ||||
PKG-INFO | ||||
README | ||||
hg | ||||
mercurial/__init__.py | ||||
mercurial/byterange.py | ||||
mercurial/fancyopts.py | ||||
mercurial/hg.py | ||||
mercurial/mdiff.py | ||||
mercurial/revlog.py | ||||
mercurial/transaction.py | ||||
notes.txt | ||||
setup.py | ||||
tkmerge | ||||
$ $PYTHON3 $HGBIN files -r 273ce12ad8f1 | wc -l | ||||
\s*14 (re) | ||||
$ $PYTHON3 $HGBIN files | wc -l | ||||
\s*15 (re) | ||||
Test if log-like commands work: | ||||
$ $PYTHON3 $HGBIN tip | ||||
changeset: 10:e76ed1e480ef | ||||
tag: tip | ||||
user: oxymoron@cinder.waste.org | ||||
date: Tue May 03 23:37:43 2005 -0800 | ||||
summary: Fix linking of changeset revs when merging | ||||
$ $PYTHON3 $HGBIN log -r0 | ||||
changeset: 0:9117c6561b0b | ||||
user: mpm@selenic.com | ||||
date: Tue May 03 13:16:10 2005 -0800 | ||||
summary: Add back links from file revisions to changeset revisions | ||||
$ cd .. | ||||
#endif | ||||
Test if `hg config` works: | ||||
$ $PYTHON3 $HGBIN config | ||||
defaults.backout=-d "0 0" | ||||
defaults.commit=-d "0 0" | ||||
defaults.shelve=--date "0 0" | ||||
defaults.tag=-d "0 0" | ||||
devel.all-warnings=true | ||||
largefiles.usercache=$TESTTMP/.cache/largefiles | ||||
ui.slash=True | ||||
ui.interactive=False | ||||
ui.mergemarkers=detailed | ||||
ui.promptecho=True | ||||
web.address=localhost | ||||
web.ipv6=False | ||||
$ cat > included-hgrc <<EOF | ||||
> [extensions] | ||||
> babar = imaginary_elephant | ||||
> EOF | ||||
$ cat >> $HGRCPATH <<EOF | ||||
> %include $TESTTMP/included-hgrc | ||||
> EOF | ||||
$ $PYTHON3 $HGBIN version | tail -1 | ||||
*** failed to import extension babar from imaginary_elephant: *: 'imaginary_elephant' (glob) | ||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||||
$ rm included-hgrc | ||||
$ touch included-hgrc | ||||
Test bytes-ness of policy.policy with HGMODULEPOLICY | ||||
$ HGMODULEPOLICY=py | ||||
$ export HGMODULEPOLICY | ||||
$ $PYTHON3 `which hg` debuginstall 2>&1 2>&1 | tail -1 | ||||
no problems detected | ||||
`hg init` can create empty repos | ||||
`hg status works fine` | ||||
`hg summary` also works! | ||||
$ $PYTHON3 `which hg` init py3repo | ||||
$ cd py3repo | ||||
$ echo "This is the file 'iota'." > iota | ||||
$ $PYTHON3 $HGBIN status | ||||
? iota | ||||
$ $PYTHON3 $HGBIN add iota | ||||
$ $PYTHON3 $HGBIN status | ||||
A iota | ||||
$ $PYTHON3 $HGBIN commit --message 'commit performed in Python 3' | ||||
$ $PYTHON3 $HGBIN status | ||||
$ mkdir A | ||||
$ echo "This is the file 'mu'." > A/mu | ||||
$ $PYTHON3 $HGBIN addremove | ||||
adding A/mu | ||||
$ $PYTHON3 $HGBIN status | ||||
A A/mu | ||||
$ HGEDITOR='echo message > ' $PYTHON3 $HGBIN commit | ||||
$ $PYTHON3 $HGBIN status | ||||
$ $PYHON3 $HGBIN summary | ||||
parent: 1:e1e9167203d4 tip | ||||
message | ||||
branch: default | ||||
commit: (clean) | ||||
update: (current) | ||||
phases: 2 draft | ||||
Prove the repo is valid using the Python 2 `hg`: | ||||
$ hg verify | ||||
checking changesets | ||||
checking manifests | ||||
crosschecking files in changesets and manifests | ||||
checking files | ||||
2 files, 2 changesets, 2 total revisions | ||||
$ hg log | ||||
changeset: 1:e1e9167203d4 | ||||
tag: tip | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: message | ||||
changeset: 0:71c96e924262 | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: commit performed in Python 3 | ||||
Pulkit Goyal
|
r32162 | |||
$ hg log -G | ||||
@ changeset: 1:e1e9167203d4 | ||||
| tag: tip | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: message | ||||
| | ||||
o changeset: 0:71c96e924262 | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: commit performed in Python 3 | ||||
Pulkit Goyal
|
r32163 | $ hg log -Tjson | ||
[ | ||||
{ | ||||
"rev": 1, | ||||
"node": "e1e9167203d450ca2f558af628955b5f5afd4489", | ||||
"branch": "default", | ||||
"phase": "draft", | ||||
"user": "test", | ||||
"date": [0, 0], | ||||
"desc": "message", | ||||
"bookmarks": [], | ||||
"tags": ["tip"], | ||||
"parents": ["71c96e924262969ff0d8d3d695b0f75412ccc3d8"] | ||||
}, | ||||
{ | ||||
"rev": 0, | ||||
"node": "71c96e924262969ff0d8d3d695b0f75412ccc3d8", | ||||
"branch": "default", | ||||
"phase": "draft", | ||||
"user": "test", | ||||
"date": [0, 0], | ||||
"desc": "commit performed in Python 3", | ||||
"bookmarks": [], | ||||
"tags": [], | ||||
"parents": ["0000000000000000000000000000000000000000"] | ||||
} | ||||
] | ||||