tests/test-blackbox.t
author Yuya Nishihara <yuya@tcha.org>
Wed, 09 Sep 2020 17:17:38 +0900
changeset 45721 f9d3ff23bfc0
parent 43803 e6cda6efb12a
child 45951 c26cb33e5219
permissions -rw-r--r--
grep: extract main search loop as searcher method Still displayer part is in commands.grep(), the core grep logic is now reusable. I'll revisit the displayer stuff later since it will be another long series.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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")
42581
bb135a784b70 abort: added logic for of hg abort
Taapas Agrawal <taapas2897@gmail.com>
parents: 41730
diff changeset
    10
  > @command(b'abortcmd', [], b'hg abortcmd')
38023
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
b862e793ec10 blackbox: log dirty state
timeless <timeless@mozdev.org>
parents: 28245
diff changeset
    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
42581
bb135a784b70 abort: added logic for of hg abort
Taapas Agrawal <taapas2897@gmail.com>
parents: 41730
diff changeset
    52
  $ hg abortcmd 2> /dev/null
38023
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
42581
bb135a784b70 abort: added logic for of hg abort
Taapas Agrawal <taapas2897@gmail.com>
parents: 41730
diff changeset
    55
  1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> abortcmd exited 255 after * seconds (glob)
38023
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
43803
e6cda6efb12a tests: expect return status 255 on exception for test-blackbox.t with chg
Kyle Lippincott <spectral@google.com>
parents: 43802
diff changeset
    60
#if chg
e6cda6efb12a tests: expect return status 255 on exception for test-blackbox.t with chg
Kyle Lippincott <spectral@google.com>
parents: 43802
diff changeset
    61
 (chg exits 255 because it fails to receive an exit code)
e6cda6efb12a tests: expect return status 255 on exception for test-blackbox.t with chg
Kyle Lippincott <spectral@google.com>
parents: 43802
diff changeset
    62
  $ hg crash 2>/dev/null
e6cda6efb12a tests: expect return status 255 on exception for test-blackbox.t with chg
Kyle Lippincott <spectral@google.com>
parents: 43802
diff changeset
    63
  [255]
e6cda6efb12a tests: expect return status 255 on exception for test-blackbox.t with chg
Kyle Lippincott <spectral@google.com>
parents: 43802
diff changeset
    64
#else
e6cda6efb12a tests: expect return status 255 on exception for test-blackbox.t with chg
Kyle Lippincott <spectral@google.com>
parents: 43802
diff changeset
    65
 (hg exits 1 because Python default exit code for uncaught exception is 1)
e6cda6efb12a tests: expect return status 255 on exception for test-blackbox.t with chg
Kyle Lippincott <spectral@google.com>
parents: 43802
diff changeset
    66
  $ hg crash 2>/dev/null
38016
81ca0fd348e3 tests: test failure reporting in blackbox code
Martin von Zweigbergk <martinvonz@google.com>
parents: 37995
diff changeset
    67
  [1]
43803
e6cda6efb12a tests: expect return status 255 on exception for test-blackbox.t with chg
Kyle Lippincott <spectral@google.com>
parents: 43802
diff changeset
    68
#endif
38016
81ca0fd348e3 tests: test failure reporting in blackbox code
Martin von Zweigbergk <martinvonz@google.com>
parents: 37995
diff changeset
    69
  $ 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
    70
  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
    71
  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
    72
29846
318e2b600b80 blackbox: also log alias expansions
Augie Fackler <augie@google.com>
parents: 28888
diff changeset
    73
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
    74
  $ rm ./.hg/blackbox.log
29846
318e2b600b80 blackbox: also log alias expansions
Augie Fackler <augie@google.com>
parents: 28888
diff changeset
    75
  $ hg confuse
318e2b600b80 blackbox: also log alias expansions
Augie Fackler <augie@google.com>
parents: 28888
diff changeset
    76
  $ hg blackbox
318e2b600b80 blackbox: also log alias expansions
Augie Fackler <augie@google.com>
parents: 28888
diff changeset
    77
  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
    78
  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
    79
  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
    80
  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
    81
34298
25e1a8876cc0 tests: add a test for blackbox with nested alias configurations
Augie Fackler <augie@google.com>
parents: 34297
diff changeset
    82
recursive aliases work correctly
25e1a8876cc0 tests: add a test for blackbox with nested alias configurations
Augie Fackler <augie@google.com>
parents: 34297
diff changeset
    83
  $ rm ./.hg/blackbox.log
25e1a8876cc0 tests: add a test for blackbox with nested alias configurations
Augie Fackler <augie@google.com>
parents: 34297
diff changeset
    84
  $ hg so-confusing
25e1a8876cc0 tests: add a test for blackbox with nested alias configurations
Augie Fackler <augie@google.com>
parents: 34297
diff changeset
    85
  $ hg blackbox
25e1a8876cc0 tests: add a test for blackbox with nested alias configurations
Augie Fackler <augie@google.com>
parents: 34297
diff changeset
    86
  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
    87
  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
    88
  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
    89
  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
    90
  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
    91
40439
25f1c7bd649d blackbox: add configitem for format of log timestamps
Matt DeVore <matvore@google.com>
parents: 40369
diff changeset
    92
custom date format
25f1c7bd649d blackbox: add configitem for format of log timestamps
Matt DeVore <matvore@google.com>
parents: 40369
diff changeset
    93
  $ rm ./.hg/blackbox.log
25f1c7bd649d blackbox: add configitem for format of log timestamps
Matt DeVore <matvore@google.com>
parents: 40369
diff changeset
    94
  $ hg --config blackbox.date-format='%Y-%m-%d @ %H:%M:%S' \
25f1c7bd649d blackbox: add configitem for format of log timestamps
Matt DeVore <matvore@google.com>
parents: 40369
diff changeset
    95
  >    --config devel.default-date='1334347993 0' --traceback status
25f1c7bd649d blackbox: add configitem for format of log timestamps
Matt DeVore <matvore@google.com>
parents: 40369
diff changeset
    96
  A a
25f1c7bd649d blackbox: add configitem for format of log timestamps
Matt DeVore <matvore@google.com>
parents: 40369
diff changeset
    97
  $ hg blackbox
40442
d69cf134bd50 tests: glob over a single quote vs double quote difference on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 40439
diff changeset
    98
  2012-04-13 @ 20:13:13 bob @0000000000000000000000000000000000000000 (5000)> --config *blackbox.date-format=%Y-%m-%d @ %H:%M:%S* --config *devel.default-date=1334347993 0* --traceback status (glob)
d69cf134bd50 tests: glob over a single quote vs double quote difference on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 40439
diff changeset
    99
  2012-04-13 @ 20:13:13 bob @0000000000000000000000000000000000000000 (5000)> --config *blackbox.date-format=%Y-%m-%d @ %H:%M:%S* --config *devel.default-date=1334347993 0* --traceback status exited 0 after * seconds (glob)
40439
25f1c7bd649d blackbox: add configitem for format of log timestamps
Matt DeVore <matvore@google.com>
parents: 40369
diff changeset
   100
  1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> blackbox
25f1c7bd649d blackbox: add configitem for format of log timestamps
Matt DeVore <matvore@google.com>
parents: 40369
diff changeset
   101
18677
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
   102
incoming change tracking
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
   103
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
   104
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
   105
  $ hg commit -ma
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
   106
  $ hg up null
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
   107
  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
   108
  $ echo b > b
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
   109
  $ hg commit -Amb
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
   110
  adding b
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
   111
  created new head
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
   112
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
   113
clone, commit, pull
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
   114
  $ hg clone . ../blackboxtest2
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
   115
  updating to branch default
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
   116
  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
   117
  $ echo c > c
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
   118
  $ hg commit -Amc
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
   119
  adding c
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
   120
  $ cd ../blackboxtest2
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
   121
  $ hg pull
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35034
diff changeset
   122
  pulling from $TESTTMP/blackboxtest
18677
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
   123
  searching for changes
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
   124
  adding changesets
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
   125
  adding manifests
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
   126
  adding file changes
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
   127
  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
   128
  new changesets d02f48003e62
18677
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
   129
  (run 'hg update' to get a working copy)
28025
ab6468270b83 blackbox: flush output file descriptor
timeless <timeless@mozdev.org>
parents: 28024
diff changeset
   130
  $ hg blackbox -l 6
28245
caa2a0c6fbb7 blackbox: log working directory version
timeless <timeless@mozdev.org>
parents: 28242
diff changeset
   131
  1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> pull
42602
c7d236b55a3e py3: fix formatting of branchmap log messages with repo.filtername=None
Martin von Zweigbergk <martinvonz@google.com>
parents: 42581
diff changeset
   132
  1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> updated branch cache (served) in * seconds (glob)
c7d236b55a3e py3: fix formatting of branchmap log messages with repo.filtername=None
Martin von Zweigbergk <martinvonz@google.com>
parents: 42581
diff changeset
   133
  1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> wrote branch cache (served) with 1 labels and 2 nodes
28245
caa2a0c6fbb7 blackbox: log working directory version
timeless <timeless@mozdev.org>
parents: 28242
diff changeset
   134
  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
   135
  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
   136
  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
   137
18786
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
   138
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
   139
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
   140
  $ hg rollback
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
   141
  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
   142
28024
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   143
  $ mv .hg/blackbox.log .hg/blackbox.log-
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   144
  $ 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
   145
  $ hg --debug incoming
28024
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   146
  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
   147
  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
   148
  query 1; heads
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
   149
  searching for changes
42884
775224e26d74 discovery: replace "heads" by "changesets" in a output note (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42615
diff changeset
   150
  all local changesets known remotely
18786
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
   151
  changeset:   2:d02f48003e62c24e2659d97d30f2a83abe5d5d51
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
   152
  tag:         tip
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
   153
  phase:       draft
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
   154
  parent:      1:6563da9dcf87b1949716e38ff3e3dfaa3198eb06
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
   155
  parent:      -1:0000000000000000000000000000000000000000
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
   156
  manifest:    2:ab9d46b053ebf45b7996f2922b9893ff4b63d892
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
   157
  user:        test
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
   158
  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
   159
  files+:      c
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
   160
  extra:       branch=default
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
   161
  description:
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
   162
  c
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
   163
  
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
   164
  
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
   165
  $ hg pull
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35034
diff changeset
   166
  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
   167
  searching for changes
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
   168
  adding changesets
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
   169
  adding manifests
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
   170
  adding file changes
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
   171
  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
   172
  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
   173
  (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
   174
28024
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   175
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
   176
18786
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
   177
  $ hg blackbox -l 3
28024
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   178
  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
   179
  [255]
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
   180
28024
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   181
  $ rmdir .hg/blackbox.log
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   182
  $ 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
   183
18766
64b5562550e2 blackbox: add backup bundle paths to blackbox logs
Durham Goode <durham@fb.com>
parents: 18720
diff changeset
   184
backup bundles get logged
64b5562550e2 blackbox: add backup bundle paths to blackbox logs
Durham Goode <durham@fb.com>
parents: 18720
diff changeset
   185
64b5562550e2 blackbox: add backup bundle paths to blackbox logs
Durham Goode <durham@fb.com>
parents: 18720
diff changeset
   186
  $ touch d
64b5562550e2 blackbox: add backup bundle paths to blackbox logs
Durham Goode <durham@fb.com>
parents: 18720
diff changeset
   187
  $ hg commit -Amd
64b5562550e2 blackbox: add backup bundle paths to blackbox logs
Durham Goode <durham@fb.com>
parents: 18720
diff changeset
   188
  adding d
64b5562550e2 blackbox: add backup bundle paths to blackbox logs
Durham Goode <durham@fb.com>
parents: 18720
diff changeset
   189
  created new head
64b5562550e2 blackbox: add backup bundle paths to blackbox logs
Durham Goode <durham@fb.com>
parents: 18720
diff changeset
   190
  $ hg strip tip
64b5562550e2 blackbox: add backup bundle paths to blackbox logs
Durham Goode <durham@fb.com>
parents: 18720
diff changeset
   191
  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
   192
  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
   193
  $ hg blackbox -l 6
28245
caa2a0c6fbb7 blackbox: log working directory version
timeless <timeless@mozdev.org>
parents: 28242
diff changeset
   194
  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
   195
  1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> saved backup bundle to $TESTTMP/blackboxtest2/.hg/strip-backup/73f6ee326b27-7612e004-backup.hg
42602
c7d236b55a3e py3: fix formatting of branchmap log messages with repo.filtername=None
Martin von Zweigbergk <martinvonz@google.com>
parents: 42581
diff changeset
   196
  1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> updated branch cache (base) in * seconds (glob)
c7d236b55a3e py3: fix formatting of branchmap log messages with repo.filtername=None
Martin von Zweigbergk <martinvonz@google.com>
parents: 42581
diff changeset
   197
  1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> wrote branch cache (base) 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
   198
  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
   199
  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
   200
18674
c61b49d059eb blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff changeset
   201
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
   202
c61b49d059eb blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff changeset
   203
  $ echo '[extensions]' >> .hg/hgrc
c61b49d059eb blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff changeset
   204
  $ echo 'eol=' >> .hg/hgrc
c61b49d059eb blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff changeset
   205
  $ echo '[hooks]' >> .hg/hgrc
c61b49d059eb blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff changeset
   206
  $ echo 'update = echo hooked' >> .hg/hgrc
c61b49d059eb blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff changeset
   207
  $ 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
   208
  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
   209
  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
   210
  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
   211
  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
   212
  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
   213
  $ 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
   214
  > [extensions]
886207fb18ab tests: take extra care for fsmonitor at enabling incompatible extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 32940
diff changeset
   215
  > # 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
   216
  > # (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
   217
  > eol=!
886207fb18ab tests: take extra care for fsmonitor at enabling incompatible extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 32940
diff changeset
   218
  > EOF
37507
9b16a67cef56 eol: look up partial nodeid as partial nodeid
Martin von Zweigbergk <martinvonz@google.com>
parents: 36740
diff changeset
   219
  $ hg blackbox -l 5
34106
06eb3de47649 test-blackbox: make it compatible with chg
Jun Wu <quark@fb.com>
parents: 33425
diff changeset
   220
  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
   221
  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
   222
  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
   223
  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
   224
  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
   225
  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
   226
19066
2cad301a7f06 blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents: 18836
diff changeset
   227
log rotation
2cad301a7f06 blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents: 18836
diff changeset
   228
2cad301a7f06 blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents: 18836
diff changeset
   229
  $ echo '[blackbox]' >> .hg/hgrc
2cad301a7f06 blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents: 18836
diff changeset
   230
  $ echo 'maxsize = 20 b' >> .hg/hgrc
2cad301a7f06 blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents: 18836
diff changeset
   231
  $ echo 'maxfiles = 3' >> .hg/hgrc
2cad301a7f06 blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents: 18836
diff changeset
   232
  $ hg status
2cad301a7f06 blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents: 18836
diff changeset
   233
  $ hg status
2cad301a7f06 blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents: 18836
diff changeset
   234
  $ hg status
2cad301a7f06 blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents: 18836
diff changeset
   235
  $ 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
   236
  2:d02f48003e62
19066
2cad301a7f06 blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents: 18836
diff changeset
   237
  $ ls .hg/blackbox.log*
2cad301a7f06 blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents: 18836
diff changeset
   238
  .hg/blackbox.log
2cad301a7f06 blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents: 18836
diff changeset
   239
  .hg/blackbox.log.1
2cad301a7f06 blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents: 18836
diff changeset
   240
  .hg/blackbox.log.2
28024
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   241
  $ cd ..
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   242
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   243
  $ hg init blackboxtest3
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   244
  $ cd blackboxtest3
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   245
  $ hg blackbox
34276
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   246
  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
   247
  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
   248
  $ mv .hg/blackbox.log .hg/blackbox.log-
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   249
  $ 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
   250
  $ 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
   251
  > 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
   252
  > \1#' $TESTDIR/test-dispatch.py > ../test-dispatch.py
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 38023
diff changeset
   253
  $ "$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
   254
  running: --debug add foo
35729
7415cc923613 test-blackbox: stabilize for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35724
diff changeset
   255
  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
   256
  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
   257
  adding foo
28024
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   258
  result: 0
35724
853bf7d90804 blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents: 35393
diff changeset
   259
  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
   260
  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
   261
  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
   262
  committing files:
853bf7d90804 blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents: 35393
diff changeset
   263
  foo
853bf7d90804 blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents: 35393
diff changeset
   264
  committing manifest
853bf7d90804 blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents: 35393
diff changeset
   265
  committing changelog
853bf7d90804 blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents: 35393
diff changeset
   266
  updating the branch cache
853bf7d90804 blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents: 35393
diff changeset
   267
  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
   268
  result: 0
35724
853bf7d90804 blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents: 35393
diff changeset
   269
  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
   270
  committing files:
853bf7d90804 blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents: 35393
diff changeset
   271
  foo
853bf7d90804 blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents: 35393
diff changeset
   272
  committing manifest
853bf7d90804 blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents: 35393
diff changeset
   273
  committing changelog
853bf7d90804 blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents: 35393
diff changeset
   274
  updating the branch cache
853bf7d90804 blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents: 35393
diff changeset
   275
  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
   276
  result: 0
35724
853bf7d90804 blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents: 35393
diff changeset
   277
  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
   278
  changeset:   0:0e46349438790c460c5c9f7546bfcd39b267bbd2
853bf7d90804 blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents: 35393
diff changeset
   279
  phase:       draft
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
  parent:      -1:0000000000000000000000000000000000000000
853bf7d90804 blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents: 35393
diff changeset
   282
  manifest:    0:9091aa5df980aea60860a2e39c95182e68d1ddec
28024
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   283
  user:        test
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   284
  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
   285
  files+:      foo
853bf7d90804 blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents: 35393
diff changeset
   286
  extra:       branch=default
853bf7d90804 blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents: 35393
diff changeset
   287
  description:
853bf7d90804 blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents: 35393
diff changeset
   288
  commit1
853bf7d90804 blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents: 35393
diff changeset
   289
  
28024
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   290
  
37995
6f9ac3cb0987 dispatch: unify handling of None returned by a command function
Yuya Nishihara <yuya@tcha.org>
parents: 37507
diff changeset
   291
  result: 0
35724
853bf7d90804 blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents: 35393
diff changeset
   292
  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
   293
  changeset:   1:45589e459b2edfbf3dbde7e01f611d2c1e7453d7
28024
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   294
  tag:         tip
35724
853bf7d90804 blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents: 35393
diff changeset
   295
  phase:       draft
853bf7d90804 blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents: 35393
diff changeset
   296
  parent:      0:0e46349438790c460c5c9f7546bfcd39b267bbd2
853bf7d90804 blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents: 35393
diff changeset
   297
  parent:      -1:0000000000000000000000000000000000000000
853bf7d90804 blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents: 35393
diff changeset
   298
  manifest:    1:895aa9b7886f89dd017a6d62524e1f9180b04df9
28024
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   299
  user:        test
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   300
  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
   301
  files:       foo
853bf7d90804 blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents: 35393
diff changeset
   302
  extra:       branch=default
853bf7d90804 blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents: 35393
diff changeset
   303
  description:
853bf7d90804 blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents: 35393
diff changeset
   304
  commit2
853bf7d90804 blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents: 35393
diff changeset
   305
  
28024
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   306
  
37995
6f9ac3cb0987 dispatch: unify handling of None returned by a command function
Yuya Nishihara <yuya@tcha.org>
parents: 37507
diff changeset
   307
  result: 0
28024
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   308
  $ hg blackbox
35724
853bf7d90804 blackbox: if --debug is used, also trace ui.debug() calls
Joerg Sonnenberger <joerg@bec.de>
parents: 35393
diff changeset
   309
  1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> updating the branch cache
42602
c7d236b55a3e py3: fix formatting of branchmap log messages with repo.filtername=None
Martin von Zweigbergk <martinvonz@google.com>
parents: 42581
diff changeset
   310
  1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> updated branch cache (served) in * seconds (glob)
c7d236b55a3e py3: fix formatting of branchmap log messages with repo.filtername=None
Martin von Zweigbergk <martinvonz@google.com>
parents: 42581
diff changeset
   311
  1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> wrote branch cache (served) 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
   312
  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
   313
  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
   314
  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
   315
  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
   316
  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
   317
  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
   318
  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
   319
28407
63da8bd0c65e blackbox: guard against recursion from dirty check
timeless <timeless@mozdev.org>
parents: 28406
diff changeset
   320
Test log recursion from dirty status check
63da8bd0c65e blackbox: guard against recursion from dirty check
timeless <timeless@mozdev.org>
parents: 28406
diff changeset
   321
63da8bd0c65e blackbox: guard against recursion from dirty check
timeless <timeless@mozdev.org>
parents: 28406
diff changeset
   322
  $ cat > ../r.py <<EOF
63da8bd0c65e blackbox: guard against recursion from dirty check
timeless <timeless@mozdev.org>
parents: 28406
diff changeset
   323
  > from mercurial import context, error, extensions
63da8bd0c65e blackbox: guard against recursion from dirty check
timeless <timeless@mozdev.org>
parents: 28406
diff changeset
   324
  > x=[False]
63da8bd0c65e blackbox: guard against recursion from dirty check
timeless <timeless@mozdev.org>
parents: 28406
diff changeset
   325
  > def status(orig, *args, **opts):
36740
2aff6daf7790 py3: byte-stringify test-blackbox.t
Yuya Nishihara <yuya@tcha.org>
parents: 35729
diff changeset
   326
  >     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
   327
  >     return orig(*args, **opts)
63da8bd0c65e blackbox: guard against recursion from dirty check
timeless <timeless@mozdev.org>
parents: 28406
diff changeset
   328
  > def reposetup(ui, repo):
63da8bd0c65e blackbox: guard against recursion from dirty check
timeless <timeless@mozdev.org>
parents: 28406
diff changeset
   329
  >     extensions.wrapfunction(context.basectx, 'status', status)
63da8bd0c65e blackbox: guard against recursion from dirty check
timeless <timeless@mozdev.org>
parents: 28406
diff changeset
   330
  > EOF
63da8bd0c65e blackbox: guard against recursion from dirty check
timeless <timeless@mozdev.org>
parents: 28406
diff changeset
   331
  $ 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
   332
  45589e459b2e tip
63da8bd0c65e blackbox: guard against recursion from dirty check
timeless <timeless@mozdev.org>
parents: 28406
diff changeset
   333
18674
c61b49d059eb blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff changeset
   334
cleanup
c61b49d059eb blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff changeset
   335
  $ cd ..
34107
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   336
40797
ea2688c84e4b blackbox: just try writing to repo.vfs and update lastlogger on success
Yuya Nishihara <yuya@tcha.org>
parents: 40442
diff changeset
   337
Test missing log directory, which shouldn't be created automatically
ea2688c84e4b blackbox: just try writing to repo.vfs and update lastlogger on success
Yuya Nishihara <yuya@tcha.org>
parents: 40442
diff changeset
   338
ea2688c84e4b blackbox: just try writing to repo.vfs and update lastlogger on success
Yuya Nishihara <yuya@tcha.org>
parents: 40442
diff changeset
   339
  $ cat <<'EOF' > closeremove.py
ea2688c84e4b blackbox: just try writing to repo.vfs and update lastlogger on success
Yuya Nishihara <yuya@tcha.org>
parents: 40442
diff changeset
   340
  > def reposetup(ui, repo):
ea2688c84e4b blackbox: just try writing to repo.vfs and update lastlogger on success
Yuya Nishihara <yuya@tcha.org>
parents: 40442
diff changeset
   341
  >     class rmrepo(repo.__class__):
ea2688c84e4b blackbox: just try writing to repo.vfs and update lastlogger on success
Yuya Nishihara <yuya@tcha.org>
parents: 40442
diff changeset
   342
  >         def close(self):
ea2688c84e4b blackbox: just try writing to repo.vfs and update lastlogger on success
Yuya Nishihara <yuya@tcha.org>
parents: 40442
diff changeset
   343
  >             super(rmrepo, self).close()
ea2688c84e4b blackbox: just try writing to repo.vfs and update lastlogger on success
Yuya Nishihara <yuya@tcha.org>
parents: 40442
diff changeset
   344
  >             self.ui.debug(b'removing %s\n' % self.vfs.base)
ea2688c84e4b blackbox: just try writing to repo.vfs and update lastlogger on success
Yuya Nishihara <yuya@tcha.org>
parents: 40442
diff changeset
   345
  >             self.vfs.rmtree()
ea2688c84e4b blackbox: just try writing to repo.vfs and update lastlogger on success
Yuya Nishihara <yuya@tcha.org>
parents: 40442
diff changeset
   346
  >     repo.__class__ = rmrepo
ea2688c84e4b blackbox: just try writing to repo.vfs and update lastlogger on success
Yuya Nishihara <yuya@tcha.org>
parents: 40442
diff changeset
   347
  > EOF
ea2688c84e4b blackbox: just try writing to repo.vfs and update lastlogger on success
Yuya Nishihara <yuya@tcha.org>
parents: 40442
diff changeset
   348
ea2688c84e4b blackbox: just try writing to repo.vfs and update lastlogger on success
Yuya Nishihara <yuya@tcha.org>
parents: 40442
diff changeset
   349
  $ hg init gone
ea2688c84e4b blackbox: just try writing to repo.vfs and update lastlogger on success
Yuya Nishihara <yuya@tcha.org>
parents: 40442
diff changeset
   350
  $ cd gone
ea2688c84e4b blackbox: just try writing to repo.vfs and update lastlogger on success
Yuya Nishihara <yuya@tcha.org>
parents: 40442
diff changeset
   351
  $ cat <<'EOF' > .hg/hgrc
ea2688c84e4b blackbox: just try writing to repo.vfs and update lastlogger on success
Yuya Nishihara <yuya@tcha.org>
parents: 40442
diff changeset
   352
  > [extensions]
ea2688c84e4b blackbox: just try writing to repo.vfs and update lastlogger on success
Yuya Nishihara <yuya@tcha.org>
parents: 40442
diff changeset
   353
  > closeremove = ../closeremove.py
ea2688c84e4b blackbox: just try writing to repo.vfs and update lastlogger on success
Yuya Nishihara <yuya@tcha.org>
parents: 40442
diff changeset
   354
  > EOF
ea2688c84e4b blackbox: just try writing to repo.vfs and update lastlogger on success
Yuya Nishihara <yuya@tcha.org>
parents: 40442
diff changeset
   355
  $ hg log --debug
ea2688c84e4b blackbox: just try writing to repo.vfs and update lastlogger on success
Yuya Nishihara <yuya@tcha.org>
parents: 40442
diff changeset
   356
  removing $TESTTMP/gone/.hg
40808
c460b1643eb0 tests: stabilize test-blackbox.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 40797
diff changeset
   357
  warning: cannot write to blackbox.log: $ENOENT$ (no-windows !)
c460b1643eb0 tests: stabilize test-blackbox.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 40797
diff changeset
   358
  warning: cannot write to blackbox.log: $TESTTMP/gone/.hg/blackbox.log: $ENOTDIR$ (windows !)
40797
ea2688c84e4b blackbox: just try writing to repo.vfs and update lastlogger on success
Yuya Nishihara <yuya@tcha.org>
parents: 40442
diff changeset
   359
  $ cd ..
ea2688c84e4b blackbox: just try writing to repo.vfs and update lastlogger on success
Yuya Nishihara <yuya@tcha.org>
parents: 40442
diff changeset
   360
41632
31dfe7026f8d blackbox: test that unsetting track disables blackbox logging
Kyle Lippincott <spectral@google.com>
parents: 40992
diff changeset
   361
blackbox should disable itself if track is empty
31dfe7026f8d blackbox: test that unsetting track disables blackbox logging
Kyle Lippincott <spectral@google.com>
parents: 40992
diff changeset
   362
31dfe7026f8d blackbox: test that unsetting track disables blackbox logging
Kyle Lippincott <spectral@google.com>
parents: 40992
diff changeset
   363
  $ hg --config blackbox.track= init nothing_tracked
31dfe7026f8d blackbox: test that unsetting track disables blackbox logging
Kyle Lippincott <spectral@google.com>
parents: 40992
diff changeset
   364
  $ cd nothing_tracked
31dfe7026f8d blackbox: test that unsetting track disables blackbox logging
Kyle Lippincott <spectral@google.com>
parents: 40992
diff changeset
   365
  $ cat >> .hg/hgrc << EOF
31dfe7026f8d blackbox: test that unsetting track disables blackbox logging
Kyle Lippincott <spectral@google.com>
parents: 40992
diff changeset
   366
  > [blackbox]
31dfe7026f8d blackbox: test that unsetting track disables blackbox logging
Kyle Lippincott <spectral@google.com>
parents: 40992
diff changeset
   367
  > track =
31dfe7026f8d blackbox: test that unsetting track disables blackbox logging
Kyle Lippincott <spectral@google.com>
parents: 40992
diff changeset
   368
  > EOF
31dfe7026f8d blackbox: test that unsetting track disables blackbox logging
Kyle Lippincott <spectral@google.com>
parents: 40992
diff changeset
   369
  $ hg blackbox
31dfe7026f8d blackbox: test that unsetting track disables blackbox logging
Kyle Lippincott <spectral@google.com>
parents: 40992
diff changeset
   370
  $ cd $TESTTMP
31dfe7026f8d blackbox: test that unsetting track disables blackbox logging
Kyle Lippincott <spectral@google.com>
parents: 40992
diff changeset
   371
41633
7b1b0415f8e5 blackbox: test that track=* works to log everything
Kyle Lippincott <spectral@google.com>
parents: 41632
diff changeset
   372
a '*' entry in blackbox.track is interpreted as log everything
7b1b0415f8e5 blackbox: test that track=* works to log everything
Kyle Lippincott <spectral@google.com>
parents: 41632
diff changeset
   373
7b1b0415f8e5 blackbox: test that track=* works to log everything
Kyle Lippincott <spectral@google.com>
parents: 41632
diff changeset
   374
  $ hg --config blackbox.track='*' \
7b1b0415f8e5 blackbox: test that track=* works to log everything
Kyle Lippincott <spectral@google.com>
parents: 41632
diff changeset
   375
  >    --config blackbox.logsource=True \
7b1b0415f8e5 blackbox: test that track=* works to log everything
Kyle Lippincott <spectral@google.com>
parents: 41632
diff changeset
   376
  >    init track_star
7b1b0415f8e5 blackbox: test that track=* works to log everything
Kyle Lippincott <spectral@google.com>
parents: 41632
diff changeset
   377
  $ cd track_star
7b1b0415f8e5 blackbox: test that track=* works to log everything
Kyle Lippincott <spectral@google.com>
parents: 41632
diff changeset
   378
  $ cat >> .hg/hgrc << EOF
7b1b0415f8e5 blackbox: test that track=* works to log everything
Kyle Lippincott <spectral@google.com>
parents: 41632
diff changeset
   379
  > [blackbox]
7b1b0415f8e5 blackbox: test that track=* works to log everything
Kyle Lippincott <spectral@google.com>
parents: 41632
diff changeset
   380
  > logsource = True
7b1b0415f8e5 blackbox: test that track=* works to log everything
Kyle Lippincott <spectral@google.com>
parents: 41632
diff changeset
   381
  > track = *
7b1b0415f8e5 blackbox: test that track=* works to log everything
Kyle Lippincott <spectral@google.com>
parents: 41632
diff changeset
   382
  > EOF
7b1b0415f8e5 blackbox: test that track=* works to log everything
Kyle Lippincott <spectral@google.com>
parents: 41632
diff changeset
   383
(only look for entries with specific logged sources, otherwise this test is
7b1b0415f8e5 blackbox: test that track=* works to log everything
Kyle Lippincott <spectral@google.com>
parents: 41632
diff changeset
   384
pretty brittle)
7b1b0415f8e5 blackbox: test that track=* works to log everything
Kyle Lippincott <spectral@google.com>
parents: 41632
diff changeset
   385
  $ hg blackbox | egrep '\[command(finish)?\]'
41730
19d8d6856338 tests: glob over quoting differences in test-blackbox.t for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 41633
diff changeset
   386
  1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000) [commandfinish]> --config *blackbox.track=* --config *blackbox.logsource=True* init track_star exited 0 after * seconds (glob)
41633
7b1b0415f8e5 blackbox: test that track=* works to log everything
Kyle Lippincott <spectral@google.com>
parents: 41632
diff changeset
   387
  1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000) [command]> blackbox
7b1b0415f8e5 blackbox: test that track=* works to log everything
Kyle Lippincott <spectral@google.com>
parents: 41632
diff changeset
   388
  $ cd $TESTTMP
7b1b0415f8e5 blackbox: test that track=* works to log everything
Kyle Lippincott <spectral@google.com>
parents: 41632
diff changeset
   389
34107
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   390
#if chg
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   391
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   392
when using chg, blackbox.log should get rotated correctly
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   393
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   394
  $ cat > $TESTTMP/noop.py << EOF
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   395
  > from __future__ import absolute_import
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   396
  > import time
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   397
  > from mercurial import registrar, scmutil
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   398
  > cmdtable = {}
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   399
  > command = registrar.command(cmdtable)
43802
c6b4c348360e tests: fix command name in test-blackbox.t to be bytes
Kyle Lippincott <spectral@google.com>
parents: 42884
diff changeset
   400
  > @command(b'noop')
34107
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   401
  > def noop(ui, repo):
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   402
  >     pass
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   403
  > EOF
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   404
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   405
  $ hg init blackbox-chg
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   406
  $ cd blackbox-chg
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   407
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   408
  $ cat > .hg/hgrc << EOF
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   409
  > [blackbox]
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   410
  > maxsize = 500B
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   411
  > [extensions]
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   412
  > # extension change forces chg to restart
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   413
  > noop=$TESTTMP/noop.py
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   414
  > EOF
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   415
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 38023
diff changeset
   416
  $ "$PYTHON" -c 'print("a" * 400)' > .hg/blackbox.log
34107
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   417
  $ chg noop
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   418
  $ chg noop
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   419
  $ chg noop
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   420
  $ chg noop
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   421
  $ chg noop
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   422
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   423
  $ cat > showsize.py << 'EOF'
40369
ef6cab7930b3 py3: fix module imports in tests, as flagged by test-check-module-imports.t
Matt Harbison <matt_harbison@yahoo.com>
parents: 39707
diff changeset
   424
  > import os
ef6cab7930b3 py3: fix module imports in tests, as flagged by test-check-module-imports.t
Matt Harbison <matt_harbison@yahoo.com>
parents: 39707
diff changeset
   425
  > import sys
34107
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   426
  > limit = 500
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   427
  > for p in sys.argv[1:]:
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   428
  >     size = os.stat(p).st_size
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   429
  >     if size >= limit:
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   430
  >         desc = '>='
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   431
  >     else:
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   432
  >         desc = '<'
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   433
  >     print('%s: %s %d' % (p, desc, limit))
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   434
  > EOF
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   435
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 38023
diff changeset
   436
  $ "$PYTHON" showsize.py .hg/blackbox*
34107
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   437
  .hg/blackbox.log: < 500
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   438
  .hg/blackbox.log.1: >= 500
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   439
  .hg/blackbox.log.2: >= 500
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   440
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   441
  $ cd ..
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   442
34299
b1d4ac068961 blackbox: do not prevent 'chg init' from working
Jun Wu <quark@fb.com>
parents: 34298
diff changeset
   443
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
   444
b1d4ac068961 blackbox: do not prevent 'chg init' from working
Jun Wu <quark@fb.com>
parents: 34298
diff changeset
   445
  $ hg init repo1
b1d4ac068961 blackbox: do not prevent 'chg init' from working
Jun Wu <quark@fb.com>
parents: 34298
diff changeset
   446
  $ 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
   447
  $ rm -rf $TESTTMP/repo1
b1d4ac068961 blackbox: do not prevent 'chg init' from working
Jun Wu <quark@fb.com>
parents: 34298
diff changeset
   448
  $ hg --config extensions.a=! init repo1
b1d4ac068961 blackbox: do not prevent 'chg init' from working
Jun Wu <quark@fb.com>
parents: 34298
diff changeset
   449
34107
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   450
#endif
34276
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   451
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   452
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
   453
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   454
  $ 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
   455
  > 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
   456
  > 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
   457
  > cmdtable = {}
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   458
  > command = registrar.command(cmdtable)
36740
2aff6daf7790 py3: byte-stringify test-blackbox.t
Yuya Nishihara <yuya@tcha.org>
parents: 35729
diff changeset
   459
  > @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
   460
  > def raisecmd(*args):
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   461
  >     raise RuntimeError('raise')
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   462
  > EOF
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   463
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   464
  $ cat >> $HGRCPATH << EOF
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   465
  > [blackbox]
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   466
  > track = commandexception
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   467
  > [extensions]
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   468
  > 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
   469
  > EOF
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   470
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   471
  $ 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
   472
  $ 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
   473
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   474
#if chg
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   475
 (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
   476
  $ 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
   477
  [255]
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   478
#else
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   479
 (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
   480
  $ 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
   481
  [1]
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   482
#endif
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   483
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   484
  $ 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
   485
  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
   486
  $ 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
   487
  RuntimeError: raise
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   488