Mercurial > hg
annotate tests/test-children.t @ 19933:621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
Before this patch, python modules of each extensions can't import
another one in own extension by absolute name, because root modules of
each extensions are loaded with "hgext_" prefix.
For example, "import extroot.bar" in "extroot/foo.py" of "extroot"
extension fails, even though "import bar" in it succeeds.
Installing extensions into site-packages of python library path can
avoid this problem, but this solution is not reasonable in some cases:
using binary package of Mercurial on Windows, for example.
This patch retries to import with "hgext_" prefix after ImportError,
if the module in the extension may try to import another one in own
extension.
This patch doesn't change some "_import()"/"_origimport()" invocations
below, because ordinary extensions shouldn't cause such invocations.
- invocation of "_import()" when root module imports sub-module by
absolute path without "fromlist"
for example, "import a.b" in "a.__init__.py".
extensions are loaded with "hgext_" prefix, and this causes
execution of another (= fixed by this patch) code path.
- invocation of "_origimport()" when "level != -1" with "fromlist"
for example, importing after "from __future__ import
absolute_import" (level == 0), or "from . import b" or "from .a
import b" (0 < level),
for portability between python versions and environments,
extensions shouldn't cause "level != -1".
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Sat, 05 Oct 2013 01:02:22 +0900 |
parents | f2719b387380 |
children | 3eb9045396b0 |
rev | line source |
---|---|
11920
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
1 test children command |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
2 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
3 $ cat <<EOF >> $HGRCPATH |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
4 > [extensions] |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
5 > children = |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
6 > EOF |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
7 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
8 init |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
9 $ hg init t |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
10 $ cd t |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
11 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
12 no working directory |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
13 $ hg children |
4783
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
14 |
11920
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
15 setup |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
16 $ echo 0 > file0 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
17 $ hg ci -qAm 0 -d '0 0' |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
18 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
19 $ echo 1 > file1 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
20 $ hg ci -qAm 1 -d '1 0' |
4783
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
21 |
11920
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
22 $ echo 2 >> file0 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
23 $ hg ci -qAm 2 -d '2 0' |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
24 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
25 $ hg co null |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
26 0 files updated, 0 files merged, 2 files removed, 0 files unresolved |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
27 $ echo 3 > file3 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
28 $ hg ci -qAm 3 -d '3 0' |
4783
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
29 |
11920
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
30 hg children at revision 3 (tip) |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
31 $ hg children |
4783
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
32 |
11920
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
33 $ hg co null |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
34 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
4783
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
35 |
11920
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
36 hg children at nullrev (should be 0 and 3) |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
37 $ hg children |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
38 changeset: 0:4df8521a7374 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
39 user: test |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
40 date: Thu Jan 01 00:00:00 1970 +0000 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
41 summary: 0 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
42 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
43 changeset: 3:e2962852269d |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
44 tag: tip |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
45 parent: -1:000000000000 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
46 user: test |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
47 date: Thu Jan 01 00:00:03 1970 +0000 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
48 summary: 3 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
49 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
50 $ hg co 1 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
51 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
4783
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
52 |
11920
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
53 hg children at revision 1 (should be 2) |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
54 $ hg children |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
55 changeset: 2:8f5eea5023c2 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
56 user: test |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
57 date: Thu Jan 01 00:00:02 1970 +0000 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
58 summary: 2 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
59 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
60 $ hg co 2 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
61 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
4783
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
62 |
11920
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
63 hg children at revision 2 (other head) |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
64 $ hg children |
4783
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
65 |
11920
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
66 $ for i in null 0 1 2 3; do |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
67 > echo "hg children -r $i" |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
68 > hg children -r $i |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
69 > done |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
70 hg children -r null |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
71 changeset: 0:4df8521a7374 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
72 user: test |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
73 date: Thu Jan 01 00:00:00 1970 +0000 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
74 summary: 0 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
75 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
76 changeset: 3:e2962852269d |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
77 tag: tip |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
78 parent: -1:000000000000 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
79 user: test |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
80 date: Thu Jan 01 00:00:03 1970 +0000 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
81 summary: 3 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
82 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
83 hg children -r 0 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
84 changeset: 1:708c093edef0 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
85 user: test |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
86 date: Thu Jan 01 00:00:01 1970 +0000 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
87 summary: 1 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
88 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
89 hg children -r 1 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
90 changeset: 2:8f5eea5023c2 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
91 user: test |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
92 date: Thu Jan 01 00:00:02 1970 +0000 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
93 summary: 2 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
94 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
95 hg children -r 2 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
96 hg children -r 3 |
4783
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
97 |
11920
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
98 hg children -r 0 file0 (should be 2) |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
99 $ hg children -r 0 file0 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
100 changeset: 2:8f5eea5023c2 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
101 user: test |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
102 date: Thu Jan 01 00:00:02 1970 +0000 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
103 summary: 2 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
104 |
4783
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
105 |
11920
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
106 hg children -r 1 file0 (should be 2) |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
107 $ hg children -r 1 file0 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
108 changeset: 2:8f5eea5023c2 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
109 user: test |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
110 date: Thu Jan 01 00:00:02 1970 +0000 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
111 summary: 2 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
112 |
4783
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
113 |
11920
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
114 $ hg co 0 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
115 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
116 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
117 hg children file0 at revision 0 (should be 2) |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
118 $ hg children file0 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
119 changeset: 2:8f5eea5023c2 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
120 user: test |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
121 date: Thu Jan 01 00:00:02 1970 +0000 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
122 summary: 2 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
123 |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
11920
diff
changeset
|
124 |
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
11920
diff
changeset
|
125 $ cd .. |