Mercurial > hg
annotate tests/test-blackbox.t @ 39764:e4e881572382
localrepo: iteratively derive local repository type
This commit implements the dynamic local repository type derivation
that was explained in the recent commit
bfeab472e3c0 "localrepo: create new function for instantiating a local
repo object."
Instead of a static localrepository class/type which must be customized
after construction, we now dynamically construct a type by building up
base classes/types to represent specific repository interfaces.
Conceptually, the end state is similar to what was happening when
various extensions would monkeypatch the __class__ of newly-constructed
repo instances. However, the approach is inverted. Instead of making
the instance then customizing it, we do the customization up front
by influencing the behavior of the type then we instantiate that
custom type.
This approach gives us much more flexibility. For example, we can
use completely separate classes for implementing different aspects
of the repository. For example, we could have one class representing
revlog-based file storage and another representing non-revlog based
file storage. When then choose which implementation to use based on
the presence of repo requirements.
A concern with this approach is that it creates a lot more types
and complexity and that complexity adds overhead. Yes, it is true that
this approach will result in more types being created. Yes, this is
more complicated than traditional "instantiate a static type." However,
I believe the alternatives to supporting alternate storage backends
are just as complicated. (Before I arrived at this solution, I had
patches storing factory functions on local repo instances for e.g.
constructing a file storage instance. We ended up having a handful
of these. And this was logically identical to assigning custom
methods. Since we were logically changing the type of the instance,
I figured it would be better to just use specialized types instead
of introducing levels of abstraction at run-time.)
On the performance front, I don't believe that having N base classes
has any significant performance overhead compared to just a single base
class. Intuition says that Python will need to iterate the base classes
to find an attribute. However, CPython caches method lookups: as long as
the __class__ or MRO isn't changing, method attribute lookup should be
constant time after first access. And non-method attributes are stored
in __dict__, of which there is only 1 per object, so the number of
base classes for __dict__ is irrelevant.
Anyway, this commit splits up the monolithic completelocalrepository
interface into sub-interfaces: 1 for file storage and 1 representing
everything else.
We've taught ``makelocalrepository()`` to call a series of factory
functions which will produce types implementing specific interfaces.
It then calls type() to create a new type from the built-up list of
base types.
This commit should be considered a start and not the end state. I
suspect we'll hit a number of problems as we start to implement
alternate storage backends:
* Passing custom arguments to __init__ and setting custom attributes
on __dict__.
* Customizing the set of interfaces that are needed. e.g. the
"readonly" intent could translate to not requesting an interface
providing methods related to writing.
* More ergonomic way for extensions to insert themselves so their
callbacks aren't unconditionally called.
* Wanting to modify vfs instances, other arguments passed to __init__.
That being said, this code is usable in its current state and I'm
convinced future commits will demonstrate the value in this approach.
Differential Revision: https://phab.mercurial-scm.org/D4642
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Tue, 18 Sep 2018 15:29:42 -0700 |
parents | 5abc47d4ca6b |
children | ef6cab7930b3 |
rev | line source |
---|---|
18674
c61b49d059eb
blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff
changeset
|
1 setup |
38016
81ca0fd348e3
tests: test failure reporting in blackbox code
Martin von Zweigbergk <martinvonz@google.com>
parents:
37995
diff
changeset
|
2 |
81ca0fd348e3
tests: test failure reporting in blackbox code
Martin von Zweigbergk <martinvonz@google.com>
parents:
37995
diff
changeset
|
3 $ cat > myextension.py <<EOF |
81ca0fd348e3
tests: test failure reporting in blackbox code
Martin von Zweigbergk <martinvonz@google.com>
parents:
37995
diff
changeset
|
4 > from mercurial import error, registrar |
81ca0fd348e3
tests: test failure reporting in blackbox code
Martin von Zweigbergk <martinvonz@google.com>
parents:
37995
diff
changeset
|
5 > cmdtable = {} |
81ca0fd348e3
tests: test failure reporting in blackbox code
Martin von Zweigbergk <martinvonz@google.com>
parents:
37995
diff
changeset
|
6 > command = registrar.command(cmdtable) |
81ca0fd348e3
tests: test failure reporting in blackbox code
Martin von Zweigbergk <martinvonz@google.com>
parents:
37995
diff
changeset
|
7 > @command(b'crash', [], b'hg crash') |
81ca0fd348e3
tests: test failure reporting in blackbox code
Martin von Zweigbergk <martinvonz@google.com>
parents:
37995
diff
changeset
|
8 > def crash(ui, *args, **kwargs): |
81ca0fd348e3
tests: test failure reporting in blackbox code
Martin von Zweigbergk <martinvonz@google.com>
parents:
37995
diff
changeset
|
9 > raise Exception("oops") |
38023
c3fd9a0f8277
dispatch: mask negative exit code recorded in blackbox log
Yuya Nishihara <yuya@tcha.org>
parents:
38022
diff
changeset
|
10 > @command(b'abort', [], b'hg abort') |
c3fd9a0f8277
dispatch: mask negative exit code recorded in blackbox log
Yuya Nishihara <yuya@tcha.org>
parents:
38022
diff
changeset
|
11 > def abort(ui, *args, **kwargs): |
c3fd9a0f8277
dispatch: mask negative exit code recorded in blackbox log
Yuya Nishihara <yuya@tcha.org>
parents:
38022
diff
changeset
|
12 > raise error.Abort(b"oops") |
38016
81ca0fd348e3
tests: test failure reporting in blackbox code
Martin von Zweigbergk <martinvonz@google.com>
parents:
37995
diff
changeset
|
13 > EOF |
81ca0fd348e3
tests: test failure reporting in blackbox code
Martin von Zweigbergk <martinvonz@google.com>
parents:
37995
diff
changeset
|
14 $ abspath=`pwd`/myextension.py |
81ca0fd348e3
tests: test failure reporting in blackbox code
Martin von Zweigbergk <martinvonz@google.com>
parents:
37995
diff
changeset
|
15 |
18674
c61b49d059eb
blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff
changeset
|
16 $ cat >> $HGRCPATH <<EOF |
c61b49d059eb
blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff
changeset
|
17 > [extensions] |
c61b49d059eb
blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff
changeset
|
18 > blackbox= |
24705
0ead0a07ed9c
tests: move mock blackbox extension into own file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21031
diff
changeset
|
19 > mock=$TESTDIR/mockblackbox.py |
18766
64b5562550e2
blackbox: add backup bundle paths to blackbox logs
Durham Goode <durham@fb.com>
parents:
18720
diff
changeset
|
20 > mq= |
38016
81ca0fd348e3
tests: test failure reporting in blackbox code
Martin von Zweigbergk <martinvonz@google.com>
parents:
37995
diff
changeset
|
21 > myextension=$TESTTMP/myextension.py |
29846
318e2b600b80
blackbox: also log alias expansions
Augie Fackler <augie@google.com>
parents:
28888
diff
changeset
|
22 > [alias] |
318e2b600b80
blackbox: also log alias expansions
Augie Fackler <augie@google.com>
parents:
28888
diff
changeset
|
23 > confuse = log --limit 3 |
34298
25e1a8876cc0
tests: add a test for blackbox with nested alias configurations
Augie Fackler <augie@google.com>
parents:
34297
diff
changeset
|
24 > so-confusing = confuse --style compact |
18674
c61b49d059eb
blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff
changeset
|
25 > EOF |
38016
81ca0fd348e3
tests: test failure reporting in blackbox code
Martin von Zweigbergk <martinvonz@google.com>
parents:
37995
diff
changeset
|
26 |
18674
c61b49d059eb
blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff
changeset
|
27 $ hg init blackboxtest |
c61b49d059eb
blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff
changeset
|
28 $ cd blackboxtest |
c61b49d059eb
blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff
changeset
|
29 |
c61b49d059eb
blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff
changeset
|
30 command, exit codes, and duration |
c61b49d059eb
blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff
changeset
|
31 |
c61b49d059eb
blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff
changeset
|
32 $ echo a > a |
c61b49d059eb
blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff
changeset
|
33 $ hg add a |
28246 | 34 $ hg blackbox --config blackbox.dirty=True |
34276
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
35 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> init blackboxtest exited 0 after * seconds (glob) |
28245
caa2a0c6fbb7
blackbox: log working directory version
timeless <timeless@mozdev.org>
parents:
28242
diff
changeset
|
36 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> add a |
28247
d2c0527af364
blackbox: store the blackbox ui object instead of the log file
timeless <timeless@mozdev.org>
parents:
28246
diff
changeset
|
37 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> add a exited 0 after * seconds (glob) |
35034
02845f7441af
dispatch: verify result of early command parsing
Yuya Nishihara <yuya@tcha.org>
parents:
34661
diff
changeset
|
38 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000+ (5000)> blackbox --config *blackbox.dirty=True* (glob) |
18674
c61b49d059eb
blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff
changeset
|
39 |
38016
81ca0fd348e3
tests: test failure reporting in blackbox code
Martin von Zweigbergk <martinvonz@google.com>
parents:
37995
diff
changeset
|
40 failure exit code |
81ca0fd348e3
tests: test failure reporting in blackbox code
Martin von Zweigbergk <martinvonz@google.com>
parents:
37995
diff
changeset
|
41 $ rm ./.hg/blackbox.log |
81ca0fd348e3
tests: test failure reporting in blackbox code
Martin von Zweigbergk <martinvonz@google.com>
parents:
37995
diff
changeset
|
42 $ hg add non-existent |
81ca0fd348e3
tests: test failure reporting in blackbox code
Martin von Zweigbergk <martinvonz@google.com>
parents:
37995
diff
changeset
|
43 non-existent: $ENOENT$ |
81ca0fd348e3
tests: test failure reporting in blackbox code
Martin von Zweigbergk <martinvonz@google.com>
parents:
37995
diff
changeset
|
44 [1] |
81ca0fd348e3
tests: test failure reporting in blackbox code
Martin von Zweigbergk <martinvonz@google.com>
parents:
37995
diff
changeset
|
45 $ hg blackbox |
81ca0fd348e3
tests: test failure reporting in blackbox code
Martin von Zweigbergk <martinvonz@google.com>
parents:
37995
diff
changeset
|
46 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> add non-existent |
81ca0fd348e3
tests: test failure reporting in blackbox code
Martin von Zweigbergk <martinvonz@google.com>
parents:
37995
diff
changeset
|
47 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> add non-existent exited 1 after * seconds (glob) |
81ca0fd348e3
tests: test failure reporting in blackbox code
Martin von Zweigbergk <martinvonz@google.com>
parents:
37995
diff
changeset
|
48 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> blackbox |
81ca0fd348e3
tests: test failure reporting in blackbox code
Martin von Zweigbergk <martinvonz@google.com>
parents:
37995
diff
changeset
|
49 |
38023
c3fd9a0f8277
dispatch: mask negative exit code recorded in blackbox log
Yuya Nishihara <yuya@tcha.org>
parents:
38022
diff
changeset
|
50 abort exit code |
c3fd9a0f8277
dispatch: mask negative exit code recorded in blackbox log
Yuya Nishihara <yuya@tcha.org>
parents:
38022
diff
changeset
|
51 $ rm ./.hg/blackbox.log |
c3fd9a0f8277
dispatch: mask negative exit code recorded in blackbox log
Yuya Nishihara <yuya@tcha.org>
parents:
38022
diff
changeset
|
52 $ hg abort 2> /dev/null |
c3fd9a0f8277
dispatch: mask negative exit code recorded in blackbox log
Yuya Nishihara <yuya@tcha.org>
parents:
38022
diff
changeset
|
53 [255] |
c3fd9a0f8277
dispatch: mask negative exit code recorded in blackbox log
Yuya Nishihara <yuya@tcha.org>
parents:
38022
diff
changeset
|
54 $ hg blackbox -l 2 |
c3fd9a0f8277
dispatch: mask negative exit code recorded in blackbox log
Yuya Nishihara <yuya@tcha.org>
parents:
38022
diff
changeset
|
55 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> abort exited 255 after * seconds (glob) |
c3fd9a0f8277
dispatch: mask negative exit code recorded in blackbox log
Yuya Nishihara <yuya@tcha.org>
parents:
38022
diff
changeset
|
56 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> blackbox -l 2 |
c3fd9a0f8277
dispatch: mask negative exit code recorded in blackbox log
Yuya Nishihara <yuya@tcha.org>
parents:
38022
diff
changeset
|
57 |
38016
81ca0fd348e3
tests: test failure reporting in blackbox code
Martin von Zweigbergk <martinvonz@google.com>
parents:
37995
diff
changeset
|
58 unhandled exception |
81ca0fd348e3
tests: test failure reporting in blackbox code
Martin von Zweigbergk <martinvonz@google.com>
parents:
37995
diff
changeset
|
59 $ rm ./.hg/blackbox.log |
81ca0fd348e3
tests: test failure reporting in blackbox code
Martin von Zweigbergk <martinvonz@google.com>
parents:
37995
diff
changeset
|
60 $ hg crash 2> /dev/null |
81ca0fd348e3
tests: test failure reporting in blackbox code
Martin von Zweigbergk <martinvonz@google.com>
parents:
37995
diff
changeset
|
61 [1] |
81ca0fd348e3
tests: test failure reporting in blackbox code
Martin von Zweigbergk <martinvonz@google.com>
parents:
37995
diff
changeset
|
62 $ hg blackbox -l 2 |
38022
48853a927757
dispatch: fix exit code of unhandled exception recorded in blackbox log
Yuya Nishihara <yuya@tcha.org>
parents:
38016
diff
changeset
|
63 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> crash exited 1 after * seconds (glob) |
38016
81ca0fd348e3
tests: test failure reporting in blackbox code
Martin von Zweigbergk <martinvonz@google.com>
parents:
37995
diff
changeset
|
64 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> blackbox -l 2 |
81ca0fd348e3
tests: test failure reporting in blackbox code
Martin von Zweigbergk <martinvonz@google.com>
parents:
37995
diff
changeset
|
65 |
29846
318e2b600b80
blackbox: also log alias expansions
Augie Fackler <augie@google.com>
parents:
28888
diff
changeset
|
66 alias expansion is logged |
34297
7f02fb920121
tests: clean up blackbox test around aliases a little bit
Augie Fackler <augie@google.com>
parents:
34276
diff
changeset
|
67 $ rm ./.hg/blackbox.log |
29846
318e2b600b80
blackbox: also log alias expansions
Augie Fackler <augie@google.com>
parents:
28888
diff
changeset
|
68 $ hg confuse |
318e2b600b80
blackbox: also log alias expansions
Augie Fackler <augie@google.com>
parents:
28888
diff
changeset
|
69 $ hg blackbox |
318e2b600b80
blackbox: also log alias expansions
Augie Fackler <augie@google.com>
parents:
28888
diff
changeset
|
70 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> confuse |
318e2b600b80
blackbox: also log alias expansions
Augie Fackler <augie@google.com>
parents:
28888
diff
changeset
|
71 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> alias 'confuse' expands to 'log --limit 3' |
318e2b600b80
blackbox: also log alias expansions
Augie Fackler <augie@google.com>
parents:
28888
diff
changeset
|
72 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> confuse exited 0 after * seconds (glob) |
318e2b600b80
blackbox: also log alias expansions
Augie Fackler <augie@google.com>
parents:
28888
diff
changeset
|
73 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> blackbox |
318e2b600b80
blackbox: also log alias expansions
Augie Fackler <augie@google.com>
parents:
28888
diff
changeset
|
74 |
34298
25e1a8876cc0
tests: add a test for blackbox with nested alias configurations
Augie Fackler <augie@google.com>
parents:
34297
diff
changeset
|
75 recursive aliases work correctly |
25e1a8876cc0
tests: add a test for blackbox with nested alias configurations
Augie Fackler <augie@google.com>
parents:
34297
diff
changeset
|
76 $ rm ./.hg/blackbox.log |
25e1a8876cc0
tests: add a test for blackbox with nested alias configurations
Augie Fackler <augie@google.com>
parents:
34297
diff
changeset
|
77 $ hg so-confusing |
25e1a8876cc0
tests: add a test for blackbox with nested alias configurations
Augie Fackler <augie@google.com>
parents:
34297
diff
changeset
|
78 $ hg blackbox |
25e1a8876cc0
tests: add a test for blackbox with nested alias configurations
Augie Fackler <augie@google.com>
parents:
34297
diff
changeset
|
79 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> so-confusing |
25e1a8876cc0
tests: add a test for blackbox with nested alias configurations
Augie Fackler <augie@google.com>
parents:
34297
diff
changeset
|
80 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> alias 'so-confusing' expands to 'confuse --style compact' |
25e1a8876cc0
tests: add a test for blackbox with nested alias configurations
Augie Fackler <augie@google.com>
parents:
34297
diff
changeset
|
81 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> alias 'confuse' expands to 'log --limit 3' |
25e1a8876cc0
tests: add a test for blackbox with nested alias configurations
Augie Fackler <augie@google.com>
parents:
34297
diff
changeset
|
82 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> so-confusing exited 0 after * seconds (glob) |
25e1a8876cc0
tests: add a test for blackbox with nested alias configurations
Augie Fackler <augie@google.com>
parents:
34297
diff
changeset
|
83 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> blackbox |
25e1a8876cc0
tests: add a test for blackbox with nested alias configurations
Augie Fackler <augie@google.com>
parents:
34297
diff
changeset
|
84 |
18677
539210ed2069
blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents:
18674
diff
changeset
|
85 incoming change tracking |
539210ed2069
blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents:
18674
diff
changeset
|
86 |
539210ed2069
blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents:
18674
diff
changeset
|
87 create two heads to verify that we only see one change in the log later |
539210ed2069
blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents:
18674
diff
changeset
|
88 $ hg commit -ma |
539210ed2069
blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents:
18674
diff
changeset
|
89 $ hg up null |
539210ed2069
blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents:
18674
diff
changeset
|
90 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
539210ed2069
blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents:
18674
diff
changeset
|
91 $ echo b > b |
539210ed2069
blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents:
18674
diff
changeset
|
92 $ hg commit -Amb |
539210ed2069
blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents:
18674
diff
changeset
|
93 adding b |
539210ed2069
blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents:
18674
diff
changeset
|
94 created new head |
539210ed2069
blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents:
18674
diff
changeset
|
95 |
539210ed2069
blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents:
18674
diff
changeset
|
96 clone, commit, pull |
539210ed2069
blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents:
18674
diff
changeset
|
97 $ hg clone . ../blackboxtest2 |
539210ed2069
blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents:
18674
diff
changeset
|
98 updating to branch default |
539210ed2069
blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents:
18674
diff
changeset
|
99 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
539210ed2069
blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents:
18674
diff
changeset
|
100 $ echo c > c |
539210ed2069
blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents:
18674
diff
changeset
|
101 $ hg commit -Amc |
539210ed2069
blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents:
18674
diff
changeset
|
102 adding c |
539210ed2069
blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents:
18674
diff
changeset
|
103 $ cd ../blackboxtest2 |
539210ed2069
blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents:
18674
diff
changeset
|
104 $ hg pull |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
35034
diff
changeset
|
105 pulling from $TESTTMP/blackboxtest |
18677
539210ed2069
blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents:
18674
diff
changeset
|
106 searching for changes |
539210ed2069
blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents:
18674
diff
changeset
|
107 adding changesets |
539210ed2069
blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents:
18674
diff
changeset
|
108 adding manifests |
539210ed2069
blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents:
18674
diff
changeset
|
109 adding file changes |
539210ed2069
blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents:
18674
diff
changeset
|
110 added 1 changesets with 1 changes to 1 files |
34661
eb586ed5d8ce
transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
34299
diff
changeset
|
111 new changesets d02f48003e62 |
18677
539210ed2069
blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents:
18674
diff
changeset
|
112 (run 'hg update' to get a working copy) |
28025
ab6468270b83
blackbox: flush output file descriptor
timeless <timeless@mozdev.org>
parents:
28024
diff
changeset
|
113 $ hg blackbox -l 6 |
28245
caa2a0c6fbb7
blackbox: log working directory version
timeless <timeless@mozdev.org>
parents:
28242
diff
changeset
|
114 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> pull |
caa2a0c6fbb7
blackbox: log working directory version
timeless <timeless@mozdev.org>
parents:
28242
diff
changeset
|
115 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> updated served branch cache in * seconds (glob) |
caa2a0c6fbb7
blackbox: log working directory version
timeless <timeless@mozdev.org>
parents:
28242
diff
changeset
|
116 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> wrote served branch cache with 1 labels and 2 nodes |
caa2a0c6fbb7
blackbox: log working directory version
timeless <timeless@mozdev.org>
parents:
28242
diff
changeset
|
117 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> 1 incoming changes - new heads: d02f48003e62 |
28247
d2c0527af364
blackbox: store the blackbox ui object instead of the log file
timeless <timeless@mozdev.org>
parents:
28246
diff
changeset
|
118 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> pull exited 0 after * seconds (glob) |
28245
caa2a0c6fbb7
blackbox: log working directory version
timeless <timeless@mozdev.org>
parents:
28242
diff
changeset
|
119 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> blackbox -l 6 |
18677
539210ed2069
blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents:
18674
diff
changeset
|
120 |
18786
ed39a8f94e95
blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents:
18766
diff
changeset
|
121 we must not cause a failure if we cannot write to the log |
ed39a8f94e95
blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents:
18766
diff
changeset
|
122 |
ed39a8f94e95
blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents:
18766
diff
changeset
|
123 $ hg rollback |
ed39a8f94e95
blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents:
18766
diff
changeset
|
124 repository tip rolled back to revision 1 (undo pull) |
19082
63dda3c3bb11
blackbox: don't run permission tests on non-unix systems
Durham Goode <durham@fb.com>
parents:
19066
diff
changeset
|
125 |
28024
142891ab6e89
tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents:
26752
diff
changeset
|
126 $ mv .hg/blackbox.log .hg/blackbox.log- |
142891ab6e89
tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents:
26752
diff
changeset
|
127 $ mkdir .hg/blackbox.log |
18786
ed39a8f94e95
blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents:
18766
diff
changeset
|
128 $ hg --debug incoming |
28024
142891ab6e89
tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents:
26752
diff
changeset
|
129 warning: cannot write to blackbox.log: * (glob) |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
35034
diff
changeset
|
130 comparing with $TESTTMP/blackboxtest |
18786
ed39a8f94e95
blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents:
18766
diff
changeset
|
131 query 1; heads |
ed39a8f94e95
blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents:
18766
diff
changeset
|
132 searching for changes |
ed39a8f94e95
blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents:
18766
diff
changeset
|
133 all local heads known remotely |
ed39a8f94e95
blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents:
18766
diff
changeset
|
134 changeset: 2:d02f48003e62c24e2659d97d30f2a83abe5d5d51 |
ed39a8f94e95
blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents:
18766
diff
changeset
|
135 tag: tip |
ed39a8f94e95
blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents:
18766
diff
changeset
|
136 phase: draft |
ed39a8f94e95
blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents:
18766
diff
changeset
|
137 parent: 1:6563da9dcf87b1949716e38ff3e3dfaa3198eb06 |
ed39a8f94e95
blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents:
18766
diff
changeset
|
138 parent: -1:0000000000000000000000000000000000000000 |
ed39a8f94e95
blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents:
18766
diff
changeset
|
139 manifest: 2:ab9d46b053ebf45b7996f2922b9893ff4b63d892 |
ed39a8f94e95
blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents:
18766
diff
changeset
|
140 user: test |
ed39a8f94e95
blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents:
18766
diff
changeset
|
141 date: Thu Jan 01 00:00:00 1970 +0000 |
ed39a8f94e95
blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents:
18766
diff
changeset
|
142 files+: c |
ed39a8f94e95
blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents:
18766
diff
changeset
|
143 extra: branch=default |
ed39a8f94e95
blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents:
18766
diff
changeset
|
144 description: |
ed39a8f94e95
blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents:
18766
diff
changeset
|
145 c |
ed39a8f94e95
blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents:
18766
diff
changeset
|
146 |
ed39a8f94e95
blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents:
18766
diff
changeset
|
147 |
ed39a8f94e95
blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents:
18766
diff
changeset
|
148 $ hg pull |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
35034
diff
changeset
|
149 pulling from $TESTTMP/blackboxtest |
18786
ed39a8f94e95
blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents:
18766
diff
changeset
|
150 searching for changes |
ed39a8f94e95
blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents:
18766
diff
changeset
|
151 adding changesets |
ed39a8f94e95
blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents:
18766
diff
changeset
|
152 adding manifests |
ed39a8f94e95
blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents:
18766
diff
changeset
|
153 adding file changes |
ed39a8f94e95
blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents:
18766
diff
changeset
|
154 added 1 changesets with 1 changes to 1 files |
34661
eb586ed5d8ce
transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
34299
diff
changeset
|
155 new changesets d02f48003e62 |
18786
ed39a8f94e95
blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents:
18766
diff
changeset
|
156 (run 'hg update' to get a working copy) |
ed39a8f94e95
blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents:
18766
diff
changeset
|
157 |
28024
142891ab6e89
tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents:
26752
diff
changeset
|
158 a failure reading from the log is fatal |
142891ab6e89
tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents:
26752
diff
changeset
|
159 |
18786
ed39a8f94e95
blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents:
18766
diff
changeset
|
160 $ hg blackbox -l 3 |
28024
142891ab6e89
tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents:
26752
diff
changeset
|
161 abort: *$TESTTMP/blackboxtest2/.hg/blackbox.log* (glob) |
18786
ed39a8f94e95
blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents:
18766
diff
changeset
|
162 [255] |
ed39a8f94e95
blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents:
18766
diff
changeset
|
163 |
28024
142891ab6e89
tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents:
26752
diff
changeset
|
164 $ rmdir .hg/blackbox.log |
142891ab6e89
tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents:
26752
diff
changeset
|
165 $ mv .hg/blackbox.log- .hg/blackbox.log |
18786
ed39a8f94e95
blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents:
18766
diff
changeset
|
166 |
18766
64b5562550e2
blackbox: add backup bundle paths to blackbox logs
Durham Goode <durham@fb.com>
parents:
18720
diff
changeset
|
167 backup bundles get logged |
64b5562550e2
blackbox: add backup bundle paths to blackbox logs
Durham Goode <durham@fb.com>
parents:
18720
diff
changeset
|
168 |
64b5562550e2
blackbox: add backup bundle paths to blackbox logs
Durham Goode <durham@fb.com>
parents:
18720
diff
changeset
|
169 $ touch d |
64b5562550e2
blackbox: add backup bundle paths to blackbox logs
Durham Goode <durham@fb.com>
parents:
18720
diff
changeset
|
170 $ hg commit -Amd |
64b5562550e2
blackbox: add backup bundle paths to blackbox logs
Durham Goode <durham@fb.com>
parents:
18720
diff
changeset
|
171 adding d |
64b5562550e2
blackbox: add backup bundle paths to blackbox logs
Durham Goode <durham@fb.com>
parents:
18720
diff
changeset
|
172 created new head |
64b5562550e2
blackbox: add backup bundle paths to blackbox logs
Durham Goode <durham@fb.com>
parents:
18720
diff
changeset
|
173 $ hg strip tip |
64b5562550e2
blackbox: add backup bundle paths to blackbox logs
Durham Goode <durham@fb.com>
parents:
18720
diff
changeset
|
174 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
64b5562550e2
blackbox: add backup bundle paths to blackbox logs
Durham Goode <durham@fb.com>
parents:
18720
diff
changeset
|
175 saved backup bundle to $TESTTMP/blackboxtest2/.hg/strip-backup/*-backup.hg (glob) |
28025
ab6468270b83
blackbox: flush output file descriptor
timeless <timeless@mozdev.org>
parents:
28024
diff
changeset
|
176 $ hg blackbox -l 6 |
28245
caa2a0c6fbb7
blackbox: log working directory version
timeless <timeless@mozdev.org>
parents:
28242
diff
changeset
|
177 1970/01/01 00:00:00 bob @73f6ee326b27d820b0472f1a825e3a50f3dc489b (5000)> strip tip |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
35034
diff
changeset
|
178 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> saved backup bundle to $TESTTMP/blackboxtest2/.hg/strip-backup/73f6ee326b27-7612e004-backup.hg |
28245
caa2a0c6fbb7
blackbox: log working directory version
timeless <timeless@mozdev.org>
parents:
28242
diff
changeset
|
179 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> updated base branch cache in * seconds (glob) |
caa2a0c6fbb7
blackbox: log working directory version
timeless <timeless@mozdev.org>
parents:
28242
diff
changeset
|
180 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> wrote base branch cache with 1 labels and 2 nodes |
28247
d2c0527af364
blackbox: store the blackbox ui object instead of the log file
timeless <timeless@mozdev.org>
parents:
28246
diff
changeset
|
181 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> strip tip exited 0 after * seconds (glob) |
28245
caa2a0c6fbb7
blackbox: log working directory version
timeless <timeless@mozdev.org>
parents:
28242
diff
changeset
|
182 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> blackbox -l 6 |
18766
64b5562550e2
blackbox: add backup bundle paths to blackbox logs
Durham Goode <durham@fb.com>
parents:
18720
diff
changeset
|
183 |
18674
c61b49d059eb
blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff
changeset
|
184 extension and python hooks - use the eol extension for a pythonhook |
c61b49d059eb
blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff
changeset
|
185 |
c61b49d059eb
blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff
changeset
|
186 $ echo '[extensions]' >> .hg/hgrc |
c61b49d059eb
blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff
changeset
|
187 $ echo 'eol=' >> .hg/hgrc |
c61b49d059eb
blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff
changeset
|
188 $ echo '[hooks]' >> .hg/hgrc |
c61b49d059eb
blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff
changeset
|
189 $ echo 'update = echo hooked' >> .hg/hgrc |
c61b49d059eb
blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff
changeset
|
190 $ hg update |
33425
886207fb18ab
tests: take extra care for fsmonitor at enabling incompatible extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
32940
diff
changeset
|
191 The fsmonitor extension is incompatible with the eol extension and has been disabled. (fsmonitor !) |
26752
949e8c626d19
merge: make in-memory changes visible to external update hooks
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
26185
diff
changeset
|
192 hooked |
26028
6fbe35588433
update: wlock the repo for the whole 'hg update' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24763
diff
changeset
|
193 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
32698
1b5c61d38a52
update: show the commit to which we updated in case of multiple heads (BC)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
32266
diff
changeset
|
194 updated to "d02f48003e62: c" |
28029
72072cfc7e91
update: warn about other topological heads on bare update
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
28028
diff
changeset
|
195 1 other heads for branch "default" |
33425
886207fb18ab
tests: take extra care for fsmonitor at enabling incompatible extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
32940
diff
changeset
|
196 $ cat >> .hg/hgrc <<EOF |
886207fb18ab
tests: take extra care for fsmonitor at enabling incompatible extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
32940
diff
changeset
|
197 > [extensions] |
886207fb18ab
tests: take extra care for fsmonitor at enabling incompatible extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
32940
diff
changeset
|
198 > # disable eol, because it is not needed for subsequent tests |
886207fb18ab
tests: take extra care for fsmonitor at enabling incompatible extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
32940
diff
changeset
|
199 > # (in addition, keeping it requires extra care for fsmonitor) |
886207fb18ab
tests: take extra care for fsmonitor at enabling incompatible extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
32940
diff
changeset
|
200 > eol=! |
886207fb18ab
tests: take extra care for fsmonitor at enabling incompatible extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
32940
diff
changeset
|
201 > EOF |
37507
9b16a67cef56
eol: look up partial nodeid as partial nodeid
Martin von Zweigbergk <martinvonz@google.com>
parents:
36740
diff
changeset
|
202 $ hg blackbox -l 5 |
34106
06eb3de47649
test-blackbox: make it compatible with chg
Jun Wu <quark@fb.com>
parents:
33425
diff
changeset
|
203 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> update (no-chg !) |
28245
caa2a0c6fbb7
blackbox: log working directory version
timeless <timeless@mozdev.org>
parents:
28242
diff
changeset
|
204 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> pythonhook-preupdate: hgext.eol.preupdate finished in * seconds (glob) |
caa2a0c6fbb7
blackbox: log working directory version
timeless <timeless@mozdev.org>
parents:
28242
diff
changeset
|
205 1970/01/01 00:00:00 bob @d02f48003e62c24e2659d97d30f2a83abe5d5d51 (5000)> exthook-update: echo hooked finished in * seconds (glob) |
28247
d2c0527af364
blackbox: store the blackbox ui object instead of the log file
timeless <timeless@mozdev.org>
parents:
28246
diff
changeset
|
206 1970/01/01 00:00:00 bob @d02f48003e62c24e2659d97d30f2a83abe5d5d51 (5000)> update exited 0 after * seconds (glob) |
34106
06eb3de47649
test-blackbox: make it compatible with chg
Jun Wu <quark@fb.com>
parents:
33425
diff
changeset
|
207 1970/01/01 00:00:00 bob @d02f48003e62c24e2659d97d30f2a83abe5d5d51 (5000)> serve --cmdserver chgunix --address $TESTTMP.chgsock/server.* --daemon-postexec 'chdir:/' (glob) (chg !) |
37507
9b16a67cef56
eol: look up partial nodeid as partial nodeid
Martin von Zweigbergk <martinvonz@google.com>
parents:
36740
diff
changeset
|
208 1970/01/01 00:00:00 bob @d02f48003e62c24e2659d97d30f2a83abe5d5d51 (5000)> blackbox -l 5 |
18674
c61b49d059eb
blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff
changeset
|
209 |
19066
2cad301a7f06
blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents:
18836
diff
changeset
|
210 log rotation |
2cad301a7f06
blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents:
18836
diff
changeset
|
211 |
2cad301a7f06
blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents:
18836
diff
changeset
|
212 $ echo '[blackbox]' >> .hg/hgrc |
2cad301a7f06
blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents:
18836
diff
changeset
|
213 $ echo 'maxsize = 20 b' >> .hg/hgrc |
2cad301a7f06
blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents:
18836
diff
changeset
|
214 $ echo 'maxfiles = 3' >> .hg/hgrc |
2cad301a7f06
blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents:
18836
diff
changeset
|
215 $ hg status |
2cad301a7f06
blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents:
18836
diff
changeset
|
216 $ hg status |
2cad301a7f06
blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents:
18836
diff
changeset
|
217 $ hg status |
2cad301a7f06
blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents:
18836
diff
changeset
|
218 $ hg tip -q |
24706
5150b2b5b345
tests: move blackbox testing of tags to test-tags.t
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24705
diff
changeset
|
219 2:d02f48003e62 |
19066
2cad301a7f06
blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents:
18836
diff
changeset
|
220 $ ls .hg/blackbox.log* |
2cad301a7f06
blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents:
18836
diff
changeset
|
221 .hg/blackbox.log |
2cad301a7f06
blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents:
18836
diff
changeset
|
222 .hg/blackbox.log.1 |
2cad301a7f06
blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents:
18836
diff
changeset
|
223 .hg/blackbox.log.2 |
28024
142891ab6e89
tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents:
26752
diff
changeset
|
224 $ cd .. |
142891ab6e89
tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents:
26752
diff
changeset
|
225 |
142891ab6e89
tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents:
26752
diff
changeset
|
226 $ hg init blackboxtest3 |
142891ab6e89
tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents:
26752
diff
changeset
|
227 $ cd blackboxtest3 |
142891ab6e89
tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents:
26752
diff
changeset
|
228 $ hg blackbox |
34276
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
229 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> init blackboxtest3 exited 0 after * seconds (glob) |
28245
caa2a0c6fbb7
blackbox: log working directory version
timeless <timeless@mozdev.org>
parents:
28242
diff
changeset
|
230 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> blackbox |
28024
142891ab6e89
tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents:
26752
diff
changeset
|
231 $ mv .hg/blackbox.log .hg/blackbox.log- |
142891ab6e89
tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents:
26752
diff
changeset
|
232 $ mkdir .hg/blackbox.log |
28336
a5a13eeffc59
tests: Solaris sed does not support "\n" meaning newline in the RHS of s///
Danek Duvall <danek.duvall@oracle.com>
parents:
28248
diff
changeset
|
233 $ sed -e 's/\(.*test1.*\)/#\1/; s#\(.*commit2.*\)#os.rmdir(".hg/blackbox.log")\ |
a5a13eeffc59
tests: Solaris sed does not support "\n" meaning newline in the RHS of s///
Danek Duvall <danek.duvall@oracle.com>
parents:
28248
diff
changeset
|
234 > os.rename(".hg/blackbox.log-", ".hg/blackbox.log")\ |
a5a13eeffc59
tests: Solaris sed does not support "\n" meaning newline in the RHS of s///
Danek Duvall <danek.duvall@oracle.com>
parents:
28248
diff
changeset
|
235 > \1#' $TESTDIR/test-dispatch.py > ../test-dispatch.py |
39707
5abc47d4ca6b
tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents:
38023
diff
changeset
|
236 $ "$PYTHON" $TESTDIR/blackbox-readonly-dispatch.py |
35724
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
237 running: --debug add foo |
35729
7415cc923613
test-blackbox: stabilize for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
35724
diff
changeset
|
238 warning: cannot write to blackbox.log: Is a directory (no-windows !) |
7415cc923613
test-blackbox: stabilize for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
35724
diff
changeset
|
239 warning: cannot write to blackbox.log: $TESTTMP/blackboxtest3/.hg/blackbox.log: Access is denied (windows !) |
35724
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
240 adding foo |
28024
142891ab6e89
tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents:
26752
diff
changeset
|
241 result: 0 |
35724
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
242 running: --debug commit -m commit1 -d 2000-01-01 foo |
35729
7415cc923613
test-blackbox: stabilize for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
35724
diff
changeset
|
243 warning: cannot write to blackbox.log: Is a directory (no-windows !) |
7415cc923613
test-blackbox: stabilize for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
35724
diff
changeset
|
244 warning: cannot write to blackbox.log: $TESTTMP/blackboxtest3/.hg/blackbox.log: Access is denied (windows !) |
35724
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
245 committing files: |
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
246 foo |
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
247 committing manifest |
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
248 committing changelog |
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
249 updating the branch cache |
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
250 committed changeset 0:0e46349438790c460c5c9f7546bfcd39b267bbd2 |
37995
6f9ac3cb0987
dispatch: unify handling of None returned by a command function
Yuya Nishihara <yuya@tcha.org>
parents:
37507
diff
changeset
|
251 result: 0 |
35724
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
252 running: --debug commit -m commit2 -d 2000-01-02 foo |
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
253 committing files: |
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
254 foo |
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
255 committing manifest |
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
256 committing changelog |
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
257 updating the branch cache |
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
258 committed changeset 1:45589e459b2edfbf3dbde7e01f611d2c1e7453d7 |
37995
6f9ac3cb0987
dispatch: unify handling of None returned by a command function
Yuya Nishihara <yuya@tcha.org>
parents:
37507
diff
changeset
|
259 result: 0 |
35724
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
260 running: --debug log -r 0 |
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
261 changeset: 0:0e46349438790c460c5c9f7546bfcd39b267bbd2 |
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
262 phase: draft |
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
263 parent: -1:0000000000000000000000000000000000000000 |
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
264 parent: -1:0000000000000000000000000000000000000000 |
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
265 manifest: 0:9091aa5df980aea60860a2e39c95182e68d1ddec |
28024
142891ab6e89
tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents:
26752
diff
changeset
|
266 user: test |
142891ab6e89
tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents:
26752
diff
changeset
|
267 date: Sat Jan 01 00:00:00 2000 +0000 |
35724
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
268 files+: foo |
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
269 extra: branch=default |
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
270 description: |
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
271 commit1 |
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
272 |
28024
142891ab6e89
tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents:
26752
diff
changeset
|
273 |
37995
6f9ac3cb0987
dispatch: unify handling of None returned by a command function
Yuya Nishihara <yuya@tcha.org>
parents:
37507
diff
changeset
|
274 result: 0 |
35724
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
275 running: --debug log -r tip |
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
276 changeset: 1:45589e459b2edfbf3dbde7e01f611d2c1e7453d7 |
28024
142891ab6e89
tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents:
26752
diff
changeset
|
277 tag: tip |
35724
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
278 phase: draft |
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
279 parent: 0:0e46349438790c460c5c9f7546bfcd39b267bbd2 |
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
280 parent: -1:0000000000000000000000000000000000000000 |
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
281 manifest: 1:895aa9b7886f89dd017a6d62524e1f9180b04df9 |
28024
142891ab6e89
tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents:
26752
diff
changeset
|
282 user: test |
142891ab6e89
tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents:
26752
diff
changeset
|
283 date: Sun Jan 02 00:00:00 2000 +0000 |
35724
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
284 files: foo |
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
285 extra: branch=default |
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
286 description: |
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
287 commit2 |
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
288 |
28024
142891ab6e89
tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents:
26752
diff
changeset
|
289 |
37995
6f9ac3cb0987
dispatch: unify handling of None returned by a command function
Yuya Nishihara <yuya@tcha.org>
parents:
37507
diff
changeset
|
290 result: 0 |
28024
142891ab6e89
tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents:
26752
diff
changeset
|
291 $ hg blackbox |
35724
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
292 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> updating the branch cache |
32266
2b6692df1bdf
caches: stop warming the cache after 'localrepo.commitctx'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
31773
diff
changeset
|
293 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> updated served branch cache in * seconds (glob) |
2b6692df1bdf
caches: stop warming the cache after 'localrepo.commitctx'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
31773
diff
changeset
|
294 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> wrote served branch cache with 1 labels and 1 nodes |
35724
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
295 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> --debug commit -m commit2 -d 2000-01-02 foo exited 0 after *.?? seconds (glob) |
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
296 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> --debug log -r 0 |
28248
851c41a21869
blackbox: properly replace ui class
timeless <timeless@mozdev.org>
parents:
28247
diff
changeset
|
297 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> writing .hg/cache/tags2-visible with 0 tags |
35724
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
298 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> --debug log -r 0 exited 0 after *.?? seconds (glob) |
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
299 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> --debug log -r tip |
853bf7d90804
blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents:
35393
diff
changeset
|
300 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> --debug log -r tip exited 0 after *.?? seconds (glob) |
28245
caa2a0c6fbb7
blackbox: log working directory version
timeless <timeless@mozdev.org>
parents:
28242
diff
changeset
|
301 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> blackbox |
19066
2cad301a7f06
blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents:
18836
diff
changeset
|
302 |
28407
63da8bd0c65e
blackbox: guard against recursion from dirty check
timeless <timeless@mozdev.org>
parents:
28406
diff
changeset
|
303 Test log recursion from dirty status check |
63da8bd0c65e
blackbox: guard against recursion from dirty check
timeless <timeless@mozdev.org>
parents:
28406
diff
changeset
|
304 |
63da8bd0c65e
blackbox: guard against recursion from dirty check
timeless <timeless@mozdev.org>
parents:
28406
diff
changeset
|
305 $ cat > ../r.py <<EOF |
63da8bd0c65e
blackbox: guard against recursion from dirty check
timeless <timeless@mozdev.org>
parents:
28406
diff
changeset
|
306 > from mercurial import context, error, extensions |
63da8bd0c65e
blackbox: guard against recursion from dirty check
timeless <timeless@mozdev.org>
parents:
28406
diff
changeset
|
307 > x=[False] |
63da8bd0c65e
blackbox: guard against recursion from dirty check
timeless <timeless@mozdev.org>
parents:
28406
diff
changeset
|
308 > def status(orig, *args, **opts): |
36740
2aff6daf7790
py3: byte-stringify test-blackbox.t
Yuya Nishihara <yuya@tcha.org>
parents:
35729
diff
changeset
|
309 > args[0].repo().ui.log(b"broken", b"recursion?") |
28407
63da8bd0c65e
blackbox: guard against recursion from dirty check
timeless <timeless@mozdev.org>
parents:
28406
diff
changeset
|
310 > return orig(*args, **opts) |
63da8bd0c65e
blackbox: guard against recursion from dirty check
timeless <timeless@mozdev.org>
parents:
28406
diff
changeset
|
311 > def reposetup(ui, repo): |
63da8bd0c65e
blackbox: guard against recursion from dirty check
timeless <timeless@mozdev.org>
parents:
28406
diff
changeset
|
312 > extensions.wrapfunction(context.basectx, 'status', status) |
63da8bd0c65e
blackbox: guard against recursion from dirty check
timeless <timeless@mozdev.org>
parents:
28406
diff
changeset
|
313 > EOF |
63da8bd0c65e
blackbox: guard against recursion from dirty check
timeless <timeless@mozdev.org>
parents:
28406
diff
changeset
|
314 $ hg id --config extensions.x=../r.py --config blackbox.dirty=True |
63da8bd0c65e
blackbox: guard against recursion from dirty check
timeless <timeless@mozdev.org>
parents:
28406
diff
changeset
|
315 45589e459b2e tip |
63da8bd0c65e
blackbox: guard against recursion from dirty check
timeless <timeless@mozdev.org>
parents:
28406
diff
changeset
|
316 |
18674
c61b49d059eb
blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff
changeset
|
317 cleanup |
c61b49d059eb
blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff
changeset
|
318 $ cd .. |
34107 | 319 |
320 #if chg | |
321 | |
322 when using chg, blackbox.log should get rotated correctly | |
323 | |
324 $ cat > $TESTTMP/noop.py << EOF | |
325 > from __future__ import absolute_import | |
326 > import time | |
327 > from mercurial import registrar, scmutil | |
328 > cmdtable = {} | |
329 > command = registrar.command(cmdtable) | |
330 > @command('noop') | |
331 > def noop(ui, repo): | |
332 > pass | |
333 > EOF | |
334 | |
335 $ hg init blackbox-chg | |
336 $ cd blackbox-chg | |
337 | |
338 $ cat > .hg/hgrc << EOF | |
339 > [blackbox] | |
340 > maxsize = 500B | |
341 > [extensions] | |
342 > # extension change forces chg to restart | |
343 > noop=$TESTTMP/noop.py | |
344 > EOF | |
345 | |
39707
5abc47d4ca6b
tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents:
38023
diff
changeset
|
346 $ "$PYTHON" -c 'print("a" * 400)' > .hg/blackbox.log |
34107 | 347 $ chg noop |
348 $ chg noop | |
349 $ chg noop | |
350 $ chg noop | |
351 $ chg noop | |
352 | |
353 $ cat > showsize.py << 'EOF' | |
354 > import os, sys | |
355 > limit = 500 | |
356 > for p in sys.argv[1:]: | |
357 > size = os.stat(p).st_size | |
358 > if size >= limit: | |
359 > desc = '>=' | |
360 > else: | |
361 > desc = '<' | |
362 > print('%s: %s %d' % (p, desc, limit)) | |
363 > EOF | |
364 | |
39707
5abc47d4ca6b
tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents:
38023
diff
changeset
|
365 $ "$PYTHON" showsize.py .hg/blackbox* |
34107 | 366 .hg/blackbox.log: < 500 |
367 .hg/blackbox.log.1: >= 500 | |
368 .hg/blackbox.log.2: >= 500 | |
369 | |
370 $ cd .. | |
371 | |
34299
b1d4ac068961
blackbox: do not prevent 'chg init' from working
Jun Wu <quark@fb.com>
parents:
34298
diff
changeset
|
372 With chg, blackbox should not create the log file if the repo is gone |
b1d4ac068961
blackbox: do not prevent 'chg init' from working
Jun Wu <quark@fb.com>
parents:
34298
diff
changeset
|
373 |
b1d4ac068961
blackbox: do not prevent 'chg init' from working
Jun Wu <quark@fb.com>
parents:
34298
diff
changeset
|
374 $ hg init repo1 |
b1d4ac068961
blackbox: do not prevent 'chg init' from working
Jun Wu <quark@fb.com>
parents:
34298
diff
changeset
|
375 $ hg --config extensions.a=! -R repo1 log |
b1d4ac068961
blackbox: do not prevent 'chg init' from working
Jun Wu <quark@fb.com>
parents:
34298
diff
changeset
|
376 $ rm -rf $TESTTMP/repo1 |
b1d4ac068961
blackbox: do not prevent 'chg init' from working
Jun Wu <quark@fb.com>
parents:
34298
diff
changeset
|
377 $ hg --config extensions.a=! init repo1 |
b1d4ac068961
blackbox: do not prevent 'chg init' from working
Jun Wu <quark@fb.com>
parents:
34298
diff
changeset
|
378 |
34107 | 379 #endif |
34276
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
380 |
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
381 blackbox should work if repo.ui.log is not called (issue5518) |
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
382 |
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
383 $ cat > $TESTTMP/raise.py << EOF |
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
384 > from __future__ import absolute_import |
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
385 > from mercurial import registrar, scmutil |
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
386 > cmdtable = {} |
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
387 > command = registrar.command(cmdtable) |
36740
2aff6daf7790
py3: byte-stringify test-blackbox.t
Yuya Nishihara <yuya@tcha.org>
parents:
35729
diff
changeset
|
388 > @command(b'raise') |
34276
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
389 > def raisecmd(*args): |
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
390 > raise RuntimeError('raise') |
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
391 > EOF |
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
392 |
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
393 $ cat >> $HGRCPATH << EOF |
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
394 > [blackbox] |
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
395 > track = commandexception |
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
396 > [extensions] |
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
397 > raise=$TESTTMP/raise.py |
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
398 > EOF |
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
399 |
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
400 $ hg init $TESTTMP/blackbox-exception-only |
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
401 $ cd $TESTTMP/blackbox-exception-only |
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
402 |
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
403 #if chg |
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
404 (chg exits 255 because it fails to receive an exit code) |
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
405 $ hg raise 2>/dev/null |
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
406 [255] |
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
407 #else |
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
408 (hg exits 1 because Python default exit code for uncaught exception is 1) |
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
409 $ hg raise 2>/dev/null |
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
410 [1] |
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
411 #endif |
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
412 |
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
413 $ head -1 .hg/blackbox.log |
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
414 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> ** Unknown exception encountered with possibly-broken third-party extension mock |
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
415 $ tail -2 .hg/blackbox.log |
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
416 RuntimeError: raise |
b90bd9a98c8b
blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents:
34107
diff
changeset
|
417 |