Mercurial > hg
annotate tests/test-locate.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 | 6ef3107c661e |
children | edf07a804ac4 |
rev | line source |
---|---|
16912
6ef3107c661e
tests: cleanup of tests that got lost in their own nested directories
Mads Kiilerich <mads@kiilerich.com>
parents:
15447
diff
changeset
|
1 $ hg init repo |
6ef3107c661e
tests: cleanup of tests that got lost in their own nested directories
Mads Kiilerich <mads@kiilerich.com>
parents:
15447
diff
changeset
|
2 $ cd repo |
12206
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
3 $ echo 0 > a |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
4 $ echo 0 > b |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
5 $ echo 0 > t.h |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
6 $ mkdir t |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
7 $ echo 0 > t/x |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
8 $ echo 0 > t/b |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
9 $ echo 0 > t/e.h |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
10 $ mkdir dir.h |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
11 $ echo 0 > dir.h/foo |
4234
fe0c0a317c09
make the output of test-locate more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4196
diff
changeset
|
12 |
12206
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
13 $ hg ci -A -m m |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
14 adding a |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
15 adding b |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
16 adding dir.h/foo |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
17 adding t.h |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
18 adding t/b |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
19 adding t/e.h |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
20 adding t/x |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
21 |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
22 $ touch nottracked |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
23 |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12316
diff
changeset
|
24 $ hg locate a |
12206
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
25 a |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
26 |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12316
diff
changeset
|
27 $ hg locate NONEXISTENT |
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12316
diff
changeset
|
28 [1] |
12206
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
29 |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
30 $ hg locate |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
31 a |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
32 b |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
33 dir.h/foo |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
34 t.h |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
35 t/b |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
36 t/e.h |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
37 t/x |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
38 |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
39 $ hg rm a |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
40 $ hg ci -m m |
4234
fe0c0a317c09
make the output of test-locate more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4196
diff
changeset
|
41 |
12206
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
42 $ hg locate a |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12206
diff
changeset
|
43 [1] |
12206
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
44 $ hg locate NONEXISTENT |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12206
diff
changeset
|
45 [1] |
12206
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
46 $ hg locate relpath:NONEXISTENT |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12206
diff
changeset
|
47 [1] |
12206
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
48 $ hg locate |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
49 b |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
50 dir.h/foo |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
51 t.h |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
52 t/b |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
53 t/e.h |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
54 t/x |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
55 $ hg locate -r 0 a |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
56 a |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
57 $ hg locate -r 0 NONEXISTENT |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12206
diff
changeset
|
58 [1] |
12206
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
59 $ hg locate -r 0 relpath:NONEXISTENT |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12206
diff
changeset
|
60 [1] |
12206
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
61 $ hg locate -r 0 |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
62 a |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
63 b |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
64 dir.h/foo |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
65 t.h |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
66 t/b |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
67 t/e.h |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
68 t/x |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
69 |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
70 -I/-X with relative path should work: |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
71 |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
72 $ cd t |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
73 $ hg locate |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
74 b |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
75 dir.h/foo |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
76 t.h |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
77 t/b |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
78 t/e.h |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
79 t/x |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
80 $ hg locate -I ../t |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
81 t/b |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
82 t/e.h |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
83 t/x |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
84 |
12399
4fee1fd3de9a
tests: added a short description to issue numbers
Martin Geisler <mg@aragost.com>
parents:
12365
diff
changeset
|
85 Issue294: hg remove --after dir fails when dir.* also exists |
12206
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
86 |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
87 $ cd .. |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
88 $ rm -r t |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
89 |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
90 $ hg locate 't/**' |
15447
9910f60a37ee
tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents:
13956
diff
changeset
|
91 t/b (glob) |
9910f60a37ee
tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents:
13956
diff
changeset
|
92 t/e.h (glob) |
9910f60a37ee
tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents:
13956
diff
changeset
|
93 t/x (glob) |
12206
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
94 |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
95 $ mkdir otherdir |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
96 $ cd otherdir |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
97 |
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
98 $ hg locate b |
15447
9910f60a37ee
tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents:
13956
diff
changeset
|
99 ../b (glob) |
9910f60a37ee
tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents:
13956
diff
changeset
|
100 ../t/b (glob) |
12206
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
101 $ hg locate '*.h' |
15447
9910f60a37ee
tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents:
13956
diff
changeset
|
102 ../t.h (glob) |
9910f60a37ee
tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents:
13956
diff
changeset
|
103 ../t/e.h (glob) |
12206
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
104 $ hg locate path:t/x |
15447
9910f60a37ee
tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents:
13956
diff
changeset
|
105 ../t/x (glob) |
12206
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
106 $ hg locate 're:.*\.h$' |
15447
9910f60a37ee
tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents:
13956
diff
changeset
|
107 ../t.h (glob) |
9910f60a37ee
tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents:
13956
diff
changeset
|
108 ../t/e.h (glob) |
12206
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
109 $ hg locate -r 0 b |
15447
9910f60a37ee
tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents:
13956
diff
changeset
|
110 ../b (glob) |
9910f60a37ee
tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents:
13956
diff
changeset
|
111 ../t/b (glob) |
12206
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
112 $ hg locate -r 0 '*.h' |
15447
9910f60a37ee
tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents:
13956
diff
changeset
|
113 ../t.h (glob) |
9910f60a37ee
tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents:
13956
diff
changeset
|
114 ../t/e.h (glob) |
12206
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
115 $ hg locate -r 0 path:t/x |
15447
9910f60a37ee
tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents:
13956
diff
changeset
|
116 ../t/x (glob) |
12206
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
117 $ hg locate -r 0 're:.*\.h$' |
15447
9910f60a37ee
tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents:
13956
diff
changeset
|
118 ../t.h (glob) |
9910f60a37ee
tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents:
13956
diff
changeset
|
119 ../t/e.h (glob) |
12206
844d25bf65a3
tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
120 |
16912
6ef3107c661e
tests: cleanup of tests that got lost in their own nested directories
Mads Kiilerich <mads@kiilerich.com>
parents:
15447
diff
changeset
|
121 $ cd ../.. |