Mercurial > hg
annotate tests/test-inotify-dirty-dirstate.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 |
rev | line source |
---|---|
12452
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
1 issues when status queries are issued when dirstate is dirty |
9855
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
2 |
12452
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
3 $ "$TESTDIR/hghave" inotify || exit 80 |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
4 $ echo "[extensions]" >> $HGRCPATH |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
5 $ echo "inotify=" >> $HGRCPATH |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
6 $ echo "fetch=" >> $HGRCPATH |
9855
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
7 |
12452
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
8 issue1810: inotify and fetch |
9855
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
9 |
13956
ffb5c09ba822
tests: remove redundant mkdir
Martin Geisler <mg@lazybytes.net>
parents:
12452
diff
changeset
|
10 $ hg init test; cd test |
12452
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
11 $ hg inserve -d --pid-file=../hg.pid |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
12 $ cat ../hg.pid >> "$DAEMON_PIDS" |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
13 $ echo foo > foo |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
14 $ hg add |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
15 adding foo |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
16 $ hg ci -m foo |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
17 $ cd .. |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
18 $ hg --config "inotify.pidfile=../hg2.pid" clone test test2 |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
19 updating to branch default |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
20 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
21 $ cat ../hg2.pid >> "$DAEMON_PIDS" |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
22 $ cd test2 |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
23 $ echo bar > bar |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
24 $ hg add |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
25 adding bar |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
26 $ hg ci -m bar |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
27 $ cd ../test |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
28 $ echo spam > spam |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
29 $ hg add |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
30 adding spam |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
31 $ hg ci -m spam |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
32 $ cd ../test2 |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
33 $ hg st |
9855
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
34 |
12452
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
35 abort, outstanding changes |
9855
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
36 |
12452
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
37 $ hg fetch -q |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
38 $ hg st |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
39 $ cd .. |
9855
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
40 |
12452
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
41 issue1719: inotify and mq |
9855
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
42 |
12452
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
43 $ echo "mq=" >> $HGRCPATH |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
44 $ hg init test-1719 |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
45 $ cd test-1719 |
9855
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
46 |
12452
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
47 inserve |
9855
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
48 |
12452
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
49 $ hg inserve -d --pid-file=../hg-test-1719.pid |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
50 $ cat ../hg-test-1719.pid >> "$DAEMON_PIDS" |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
51 $ echo content > file |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
52 $ hg add file |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
53 $ hg qnew -f test.patch |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
54 $ hg status |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
55 $ hg qpop |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
56 popping test.patch |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
57 patch queue now empty |
9855
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
58 |
12452
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
59 st should not output anything |
9855
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
60 |
12452
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
61 $ hg status |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
62 $ hg qpush |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
63 applying test.patch |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
64 now at: test.patch |
9855
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
65 |
12452
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
66 st should not output anything |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
67 |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
68 $ hg status |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
69 $ hg qrefresh |
f727db60abb4
tests: unify test-inotify-dirty-dirstate
Matt Mackall <mpm@selenic.com>
parents:
9897
diff
changeset
|
70 $ hg status |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
13956
diff
changeset
|
71 |
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
13956
diff
changeset
|
72 $ cd .. |