test-py3-commands.t
239 lines
| 6.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 | ||||
devel.all-warnings=true | ||||
Augie Fackler
|
r32520 | devel.default-date=0 0 | ||
Pulkit Goyal
|
r32161 | 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 | ||||
Pulkit Goyal
|
r32644 | $ hg diff --nodates --git | ||
diff --git a/iota b/iota | ||||
new file mode 100644 | ||||
--- /dev/null | ||||
+++ b/iota | ||||
@@ -0,0 +1,1 @@ | ||||
+This is the file 'iota'. | ||||
Pulkit Goyal
|
r32161 | $ $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 | ||||
Yuya Nishihara
|
r32615 | Test weird unicode-vs-bytes stuff | ||
$ $PYTHON3 $HGBIN help | egrep -v '^ |^$' | ||||
Mercurial Distributed SCM | ||||
list of commands: | ||||
additional help topics: | ||||
(use 'hg help -v' to show built-in aliases and global options) | ||||
$ $PYTHON3 $HGBIN help help | egrep -v '^ |^$' | ||||
hg help [-ecks] [TOPIC] | ||||
show help for a given topic or a help overview | ||||
options ([+] can be repeated): | ||||
(some details hidden, use --verbose to show complete help) | ||||
Yuya Nishihara
|
r32616 | $ $PYTHON3 $HGBIN help -k notopic | ||
abort: no matches | ||||
(try 'hg help' for a list of topics) | ||||
[255] | ||||
Pulkit Goyal
|
r32161 | 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 | |||
Pulkit Goyal
|
r32802 | $ $PYTHON3 $HGBIN log -G | ||
Pulkit Goyal
|
r32162 | @ 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
|
r32802 | $ $PYTHON3 $HGBIN log -Tjson | ||
Pulkit Goyal
|
r32163 | [ | ||
{ | ||||
"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"] | ||||
} | ||||
] | ||||
Pulkit Goyal
|
r32645 | |||
Show that update works now! | ||||
Pulkit Goyal
|
r32802 | $ $PYTHON3 $HGBIN up 0 | ||
Pulkit Goyal
|
r32645 | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||
Pulkit Goyal
|
r32802 | $ $PYTHON3 $HGBIN identify | ||
Pulkit Goyal
|
r32645 | 71c96e924262 | ||
Pulkit Goyal
|
r33093 | |||
branches and bookmarks also works! | ||||
$ $PYTHON3 $HGBIN branches | ||||
default 1:e1e9167203d4 | ||||
$ $PYTHON3 $HGBIN bookmark book | ||||
$ $PYTHON3 $HGBIN bookmarks | ||||
* book 0:71c96e924262 | ||||