tests/test-blackbox.t
author Yuya Nishihara <yuya@tcha.org>
Sat, 11 Nov 2017 12:40:13 +0900
branchstable
changeset 35034 02845f7441af
parent 34661 eb586ed5d8ce
child 35393 4441705b7111
permissions -rw-r--r--
dispatch: verify result of early command parsing Before, early options were stripped from args, and because of this, some kind of parsing errors weren't reported. For example, $ hg ci -m -Ra file would execute "hg ci -m file" in repository "a". This patch fixes the issue by parsing early options again by real getopt-based parser, and verifying the results. If the early parsing appears wrong, hg just aborts. The current error message seems not nice, and should be improved, maybe in V2 or follow-up. Note that this isn't a security feature because we can still do anything by using shell aliases.
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
c61b49d059eb blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff changeset
     2
  $ cat >> $HGRCPATH <<EOF
c61b49d059eb blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff changeset
     3
  > [extensions]
c61b49d059eb blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff changeset
     4
  > blackbox=
24705
0ead0a07ed9c tests: move mock blackbox extension into own file
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21031
diff changeset
     5
  > mock=$TESTDIR/mockblackbox.py
18766
64b5562550e2 blackbox: add backup bundle paths to blackbox logs
Durham Goode <durham@fb.com>
parents: 18720
diff changeset
     6
  > mq=
29846
318e2b600b80 blackbox: also log alias expansions
Augie Fackler <augie@google.com>
parents: 28888
diff changeset
     7
  > [alias]
318e2b600b80 blackbox: also log alias expansions
Augie Fackler <augie@google.com>
parents: 28888
diff changeset
     8
  > 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
     9
  > so-confusing = confuse --style compact
18674
c61b49d059eb blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff changeset
    10
  > EOF
c61b49d059eb blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff changeset
    11
  $ hg init blackboxtest
c61b49d059eb blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff changeset
    12
  $ cd blackboxtest
c61b49d059eb blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff changeset
    13
c61b49d059eb blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff changeset
    14
command, exit codes, and duration
c61b49d059eb blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff changeset
    15
c61b49d059eb blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff changeset
    16
  $ echo a > a
c61b49d059eb blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff changeset
    17
  $ hg add a
28246
b862e793ec10 blackbox: log dirty state
timeless <timeless@mozdev.org>
parents: 28245
diff changeset
    18
  $ 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
    19
  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
    20
  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
    21
  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
    22
  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
    23
29846
318e2b600b80 blackbox: also log alias expansions
Augie Fackler <augie@google.com>
parents: 28888
diff changeset
    24
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
    25
  $ rm ./.hg/blackbox.log
29846
318e2b600b80 blackbox: also log alias expansions
Augie Fackler <augie@google.com>
parents: 28888
diff changeset
    26
  $ hg confuse
318e2b600b80 blackbox: also log alias expansions
Augie Fackler <augie@google.com>
parents: 28888
diff changeset
    27
  $ hg blackbox
318e2b600b80 blackbox: also log alias expansions
Augie Fackler <augie@google.com>
parents: 28888
diff changeset
    28
  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
    29
  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
    30
  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
    31
  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
    32
34298
25e1a8876cc0 tests: add a test for blackbox with nested alias configurations
Augie Fackler <augie@google.com>
parents: 34297
diff changeset
    33
recursive aliases work correctly
25e1a8876cc0 tests: add a test for blackbox with nested alias configurations
Augie Fackler <augie@google.com>
parents: 34297
diff changeset
    34
  $ rm ./.hg/blackbox.log
25e1a8876cc0 tests: add a test for blackbox with nested alias configurations
Augie Fackler <augie@google.com>
parents: 34297
diff changeset
    35
  $ hg so-confusing
25e1a8876cc0 tests: add a test for blackbox with nested alias configurations
Augie Fackler <augie@google.com>
parents: 34297
diff changeset
    36
  $ hg blackbox
25e1a8876cc0 tests: add a test for blackbox with nested alias configurations
Augie Fackler <augie@google.com>
parents: 34297
diff changeset
    37
  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
    38
  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
    39
  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
    40
  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
    41
  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
    42
18677
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
    43
incoming change tracking
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
    44
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
    45
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
    46
  $ hg commit -ma
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
    47
  $ hg up null
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
    48
  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
    49
  $ echo b > b
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
    50
  $ hg commit -Amb
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
    51
  adding b
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
    52
  created new head
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
    53
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
    54
clone, commit, pull
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
    55
  $ hg clone . ../blackboxtest2
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
    56
  updating to branch default
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
    57
  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
    58
  $ echo c > c
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
    59
  $ hg commit -Amc
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
    60
  adding c
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
    61
  $ cd ../blackboxtest2
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
    62
  $ hg pull
18719
9ad13296c581 tests: append glob to filename output when required for windows
Simon Heimberg <simohe@besonet.ch>
parents: 18677
diff changeset
    63
  pulling from $TESTTMP/blackboxtest (glob)
18677
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
    64
  searching for changes
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
    65
  adding changesets
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
    66
  adding manifests
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
    67
  adding file changes
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
    68
  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
    69
  new changesets d02f48003e62
18677
539210ed2069 blackbox: only show new heads on incoming
Durham Goode <durham@fb.com>
parents: 18674
diff changeset
    70
  (run 'hg update' to get a working copy)
28025
ab6468270b83 blackbox: flush output file descriptor
timeless <timeless@mozdev.org>
parents: 28024
diff changeset
    71
  $ hg blackbox -l 6
28245
caa2a0c6fbb7 blackbox: log working directory version
timeless <timeless@mozdev.org>
parents: 28242
diff changeset
    72
  1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> pull
caa2a0c6fbb7 blackbox: log working directory version
timeless <timeless@mozdev.org>
parents: 28242
diff changeset
    73
  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
    74
  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
    75
  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
    76
  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
    77
  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
    78
18786
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
    79
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
    80
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
    81
  $ hg rollback
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
    82
  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
    83
28024
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
    84
  $ mv .hg/blackbox.log .hg/blackbox.log-
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
    85
  $ 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
    86
  $ hg --debug incoming
28024
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
    87
  warning: cannot write to blackbox.log: * (glob)
18836
a7d0ddc7540b blackbox: fix a few check-code portability errors
Bryan O'Sullivan <bryano@fb.com>
parents: 18787
diff changeset
    88
  comparing with $TESTTMP/blackboxtest (glob)
18786
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
    89
  query 1; heads
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
    90
  searching for changes
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
    91
  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
    92
  changeset:   2:d02f48003e62c24e2659d97d30f2a83abe5d5d51
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
    93
  tag:         tip
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
    94
  phase:       draft
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
    95
  parent:      1:6563da9dcf87b1949716e38ff3e3dfaa3198eb06
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
    96
  parent:      -1:0000000000000000000000000000000000000000
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
    97
  manifest:    2:ab9d46b053ebf45b7996f2922b9893ff4b63d892
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
    98
  user:        test
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
    99
  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
   100
  files+:      c
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
   101
  extra:       branch=default
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
   102
  description:
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
   103
  c
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
   104
  
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
   105
  
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
   106
  $ hg pull
18836
a7d0ddc7540b blackbox: fix a few check-code portability errors
Bryan O'Sullivan <bryano@fb.com>
parents: 18787
diff changeset
   107
  pulling from $TESTTMP/blackboxtest (glob)
18786
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
   108
  searching for changes
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
   109
  adding changesets
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
   110
  adding manifests
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
   111
  adding file changes
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
   112
  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
   113
  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
   114
  (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
   115
28024
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   116
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
   117
18786
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
   118
  $ hg blackbox -l 3
28024
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   119
  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
   120
  [255]
ed39a8f94e95 blackbox: prevent failed I/O from causing hg to abort
Bryan O'Sullivan <bryano@fb.com>
parents: 18766
diff changeset
   121
28024
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   122
  $ rmdir .hg/blackbox.log
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   123
  $ 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
   124
18766
64b5562550e2 blackbox: add backup bundle paths to blackbox logs
Durham Goode <durham@fb.com>
parents: 18720
diff changeset
   125
backup bundles get logged
64b5562550e2 blackbox: add backup bundle paths to blackbox logs
Durham Goode <durham@fb.com>
parents: 18720
diff changeset
   126
64b5562550e2 blackbox: add backup bundle paths to blackbox logs
Durham Goode <durham@fb.com>
parents: 18720
diff changeset
   127
  $ touch d
64b5562550e2 blackbox: add backup bundle paths to blackbox logs
Durham Goode <durham@fb.com>
parents: 18720
diff changeset
   128
  $ hg commit -Amd
64b5562550e2 blackbox: add backup bundle paths to blackbox logs
Durham Goode <durham@fb.com>
parents: 18720
diff changeset
   129
  adding d
64b5562550e2 blackbox: add backup bundle paths to blackbox logs
Durham Goode <durham@fb.com>
parents: 18720
diff changeset
   130
  created new head
64b5562550e2 blackbox: add backup bundle paths to blackbox logs
Durham Goode <durham@fb.com>
parents: 18720
diff changeset
   131
  $ hg strip tip
64b5562550e2 blackbox: add backup bundle paths to blackbox logs
Durham Goode <durham@fb.com>
parents: 18720
diff changeset
   132
  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
   133
  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
   134
  $ hg blackbox -l 6
28245
caa2a0c6fbb7 blackbox: log working directory version
timeless <timeless@mozdev.org>
parents: 28242
diff changeset
   135
  1970/01/01 00:00:00 bob @73f6ee326b27d820b0472f1a825e3a50f3dc489b (5000)> strip tip
28888
d46dc68ec042 test-blackbox: add missing glob for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 28407
diff changeset
   136
  1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> saved backup bundle to $TESTTMP/blackboxtest2/.hg/strip-backup/73f6ee326b27-7612e004-backup.hg (glob)
28245
caa2a0c6fbb7 blackbox: log working directory version
timeless <timeless@mozdev.org>
parents: 28242
diff changeset
   137
  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
   138
  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
   139
  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
   140
  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
   141
18674
c61b49d059eb blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff changeset
   142
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
   143
c61b49d059eb blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff changeset
   144
  $ echo '[extensions]' >> .hg/hgrc
c61b49d059eb blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff changeset
   145
  $ echo 'eol=' >> .hg/hgrc
c61b49d059eb blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff changeset
   146
  $ echo '[hooks]' >> .hg/hgrc
c61b49d059eb blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff changeset
   147
  $ echo 'update = echo hooked' >> .hg/hgrc
c61b49d059eb blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff changeset
   148
  $ 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
   149
  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
   150
  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
   151
  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
   152
  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
   153
  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
   154
  $ 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
   155
  > [extensions]
886207fb18ab tests: take extra care for fsmonitor at enabling incompatible extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 32940
diff changeset
   156
  > # 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
   157
  > # (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
   158
  > eol=!
886207fb18ab tests: take extra care for fsmonitor at enabling incompatible extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 32940
diff changeset
   159
  > EOF
28025
ab6468270b83 blackbox: flush output file descriptor
timeless <timeless@mozdev.org>
parents: 28024
diff changeset
   160
  $ hg blackbox -l 6
34106
06eb3de47649 test-blackbox: make it compatible with chg
Jun Wu <quark@fb.com>
parents: 33425
diff changeset
   161
  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
   162
  1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> writing .hg/cache/tags2-visible with 0 tags
caa2a0c6fbb7 blackbox: log working directory version
timeless <timeless@mozdev.org>
parents: 28242
diff changeset
   163
  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
   164
  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
   165
  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
   166
  1970/01/01 00:00:00 bob @d02f48003e62c24e2659d97d30f2a83abe5d5d51 (5000)> serve --cmdserver chgunix --address $TESTTMP.chgsock/server.* --daemon-postexec 'chdir:/' (glob) (chg !)
28245
caa2a0c6fbb7 blackbox: log working directory version
timeless <timeless@mozdev.org>
parents: 28242
diff changeset
   167
  1970/01/01 00:00:00 bob @d02f48003e62c24e2659d97d30f2a83abe5d5d51 (5000)> blackbox -l 6
18674
c61b49d059eb blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff changeset
   168
19066
2cad301a7f06 blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents: 18836
diff changeset
   169
log rotation
2cad301a7f06 blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents: 18836
diff changeset
   170
2cad301a7f06 blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents: 18836
diff changeset
   171
  $ echo '[blackbox]' >> .hg/hgrc
2cad301a7f06 blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents: 18836
diff changeset
   172
  $ echo 'maxsize = 20 b' >> .hg/hgrc
2cad301a7f06 blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents: 18836
diff changeset
   173
  $ echo 'maxfiles = 3' >> .hg/hgrc
2cad301a7f06 blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents: 18836
diff changeset
   174
  $ hg status
2cad301a7f06 blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents: 18836
diff changeset
   175
  $ hg status
2cad301a7f06 blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents: 18836
diff changeset
   176
  $ hg status
2cad301a7f06 blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents: 18836
diff changeset
   177
  $ 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
   178
  2:d02f48003e62
19066
2cad301a7f06 blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents: 18836
diff changeset
   179
  $ ls .hg/blackbox.log*
2cad301a7f06 blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents: 18836
diff changeset
   180
  .hg/blackbox.log
2cad301a7f06 blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents: 18836
diff changeset
   181
  .hg/blackbox.log.1
2cad301a7f06 blackbox: automatically rotate log files
Bryan O'Sullivan <bryano@fb.com>
parents: 18836
diff changeset
   182
  .hg/blackbox.log.2
28024
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   183
  $ cd ..
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   184
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   185
  $ hg init blackboxtest3
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   186
  $ cd blackboxtest3
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   187
  $ hg blackbox
34276
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   188
  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
   189
  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
   190
  $ mv .hg/blackbox.log .hg/blackbox.log-
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   191
  $ 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
   192
  $ 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
   193
  > 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
   194
  > \1#' $TESTDIR/test-dispatch.py > ../test-dispatch.py
32940
75be14993fda cleanup: use $PYTHON to run python in many more tests
Augie Fackler <augie@google.com>
parents: 32698
diff changeset
   195
  $ $PYTHON $TESTDIR/blackbox-readonly-dispatch.py
28024
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   196
  running: add foo
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   197
  result: 0
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   198
  running: commit -m commit1 -d 2000-01-01 foo
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   199
  result: None
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   200
  running: commit -m commit2 -d 2000-01-02 foo
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   201
  result: None
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   202
  running: log -r 0
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   203
  changeset:   0:0e4634943879
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   204
  user:        test
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   205
  date:        Sat Jan 01 00:00:00 2000 +0000
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   206
  summary:     commit1
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   207
  
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   208
  result: None
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   209
  running: log -r tip
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   210
  changeset:   1:45589e459b2e
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   211
  tag:         tip
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   212
  user:        test
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   213
  date:        Sun Jan 02 00:00:00 2000 +0000
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   214
  summary:     commit2
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   215
  
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   216
  result: None
142891ab6e89 tests: change blackbox test to work cross platform
timeless <timeless@mozdev.org>
parents: 26752
diff changeset
   217
  $ hg blackbox
28248
851c41a21869 blackbox: properly replace ui class
timeless <timeless@mozdev.org>
parents: 28247
diff changeset
   218
  1970/01/01 00:00:00 bob @0e46349438790c460c5c9f7546bfcd39b267bbd2 (5000)> commit -m commit2 -d 2000-01-02 foo
32266
2b6692df1bdf caches: stop warming the cache after 'localrepo.commitctx'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31773
diff changeset
   219
  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
   220
  1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> wrote served branch cache with 1 labels and 1 nodes
28248
851c41a21869 blackbox: properly replace ui class
timeless <timeless@mozdev.org>
parents: 28247
diff changeset
   221
  1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> commit -m commit2 -d 2000-01-02 foo exited 0 after * seconds (glob)
851c41a21869 blackbox: properly replace ui class
timeless <timeless@mozdev.org>
parents: 28247
diff changeset
   222
  1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> log -r 0
851c41a21869 blackbox: properly replace ui class
timeless <timeless@mozdev.org>
parents: 28247
diff changeset
   223
  1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> writing .hg/cache/tags2-visible with 0 tags
851c41a21869 blackbox: properly replace ui class
timeless <timeless@mozdev.org>
parents: 28247
diff changeset
   224
  1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> log -r 0 exited 0 after * seconds (glob)
851c41a21869 blackbox: properly replace ui class
timeless <timeless@mozdev.org>
parents: 28247
diff changeset
   225
  1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> log -r tip
851c41a21869 blackbox: properly replace ui class
timeless <timeless@mozdev.org>
parents: 28247
diff changeset
   226
  1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> log -r tip exited 0 after * seconds (glob)
28245
caa2a0c6fbb7 blackbox: log working directory version
timeless <timeless@mozdev.org>
parents: 28242
diff changeset
   227
  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
   228
28407
63da8bd0c65e blackbox: guard against recursion from dirty check
timeless <timeless@mozdev.org>
parents: 28406
diff changeset
   229
Test log recursion from dirty status check
63da8bd0c65e blackbox: guard against recursion from dirty check
timeless <timeless@mozdev.org>
parents: 28406
diff changeset
   230
63da8bd0c65e blackbox: guard against recursion from dirty check
timeless <timeless@mozdev.org>
parents: 28406
diff changeset
   231
  $ cat > ../r.py <<EOF
63da8bd0c65e blackbox: guard against recursion from dirty check
timeless <timeless@mozdev.org>
parents: 28406
diff changeset
   232
  > from mercurial import context, error, extensions
63da8bd0c65e blackbox: guard against recursion from dirty check
timeless <timeless@mozdev.org>
parents: 28406
diff changeset
   233
  > x=[False]
63da8bd0c65e blackbox: guard against recursion from dirty check
timeless <timeless@mozdev.org>
parents: 28406
diff changeset
   234
  > def status(orig, *args, **opts):
63da8bd0c65e blackbox: guard against recursion from dirty check
timeless <timeless@mozdev.org>
parents: 28406
diff changeset
   235
  >     args[0].repo().ui.log("broken", "recursion?")
63da8bd0c65e blackbox: guard against recursion from dirty check
timeless <timeless@mozdev.org>
parents: 28406
diff changeset
   236
  >     return orig(*args, **opts)
63da8bd0c65e blackbox: guard against recursion from dirty check
timeless <timeless@mozdev.org>
parents: 28406
diff changeset
   237
  > def reposetup(ui, repo):
63da8bd0c65e blackbox: guard against recursion from dirty check
timeless <timeless@mozdev.org>
parents: 28406
diff changeset
   238
  >     extensions.wrapfunction(context.basectx, 'status', status)
63da8bd0c65e blackbox: guard against recursion from dirty check
timeless <timeless@mozdev.org>
parents: 28406
diff changeset
   239
  > EOF
63da8bd0c65e blackbox: guard against recursion from dirty check
timeless <timeless@mozdev.org>
parents: 28406
diff changeset
   240
  $ 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
   241
  45589e459b2e tip
63da8bd0c65e blackbox: guard against recursion from dirty check
timeless <timeless@mozdev.org>
parents: 28406
diff changeset
   242
18674
c61b49d059eb blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff changeset
   243
cleanup
c61b49d059eb blackbox: tests for the blackbox extension
Durham Goode <durham@fb.com>
parents:
diff changeset
   244
  $ cd ..
34107
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   245
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   246
#if chg
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   247
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   248
when using chg, blackbox.log should get rotated correctly
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   249
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   250
  $ cat > $TESTTMP/noop.py << EOF
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   251
  > from __future__ import absolute_import
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   252
  > import time
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   253
  > from mercurial import registrar, scmutil
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   254
  > cmdtable = {}
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   255
  > command = registrar.command(cmdtable)
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   256
  > @command('noop')
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   257
  > def noop(ui, repo):
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   258
  >     pass
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   259
  > EOF
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   260
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   261
  $ hg init blackbox-chg
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   262
  $ cd blackbox-chg
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   263
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   264
  $ cat > .hg/hgrc << EOF
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   265
  > [blackbox]
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   266
  > maxsize = 500B
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   267
  > [extensions]
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   268
  > # extension change forces chg to restart
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   269
  > noop=$TESTTMP/noop.py
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   270
  > EOF
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   271
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   272
  $ $PYTHON -c 'print("a" * 400)' > .hg/blackbox.log
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   273
  $ chg noop
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   274
  $ chg noop
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   275
  $ chg noop
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   276
  $ chg noop
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   277
  $ chg noop
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   278
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   279
  $ cat > showsize.py << 'EOF'
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   280
  > import os, sys
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   281
  > limit = 500
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   282
  > for p in sys.argv[1:]:
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   283
  >     size = os.stat(p).st_size
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   284
  >     if size >= limit:
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   285
  >         desc = '>='
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   286
  >     else:
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   287
  >         desc = '<'
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   288
  >     print('%s: %s %d' % (p, desc, limit))
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   289
  > EOF
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   290
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   291
  $ $PYTHON showsize.py .hg/blackbox*
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   292
  .hg/blackbox.log: < 500
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   293
  .hg/blackbox.log.1: >= 500
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   294
  .hg/blackbox.log.2: >= 500
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   295
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   296
  $ cd ..
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   297
34299
b1d4ac068961 blackbox: do not prevent 'chg init' from working
Jun Wu <quark@fb.com>
parents: 34298
diff changeset
   298
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
   299
b1d4ac068961 blackbox: do not prevent 'chg init' from working
Jun Wu <quark@fb.com>
parents: 34298
diff changeset
   300
  $ hg init repo1
b1d4ac068961 blackbox: do not prevent 'chg init' from working
Jun Wu <quark@fb.com>
parents: 34298
diff changeset
   301
  $ 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
   302
  $ rm -rf $TESTTMP/repo1
b1d4ac068961 blackbox: do not prevent 'chg init' from working
Jun Wu <quark@fb.com>
parents: 34298
diff changeset
   303
  $ hg --config extensions.a=! init repo1
b1d4ac068961 blackbox: do not prevent 'chg init' from working
Jun Wu <quark@fb.com>
parents: 34298
diff changeset
   304
34107
4f60720cf0df blackbox: fix rotation with chg
Jun Wu <quark@fb.com>
parents: 34106
diff changeset
   305
#endif
34276
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   306
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   307
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
   308
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   309
  $ 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
   310
  > 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
   311
  > 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
   312
  > cmdtable = {}
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   313
  > command = registrar.command(cmdtable)
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   314
  > @command('raise')
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   315
  > def raisecmd(*args):
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   316
  >     raise RuntimeError('raise')
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   317
  > EOF
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   318
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   319
  $ cat >> $HGRCPATH << EOF
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   320
  > [blackbox]
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   321
  > track = commandexception
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   322
  > [extensions]
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   323
  > 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
   324
  > EOF
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   325
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   326
  $ 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
   327
  $ 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
   328
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   329
#if chg
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   330
 (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
   331
  $ 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
   332
  [255]
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   333
#else
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   334
 (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
   335
  $ 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
   336
  [1]
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   337
#endif
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   338
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   339
  $ 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
   340
  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
   341
  $ 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
   342
  RuntimeError: raise
b90bd9a98c8b blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com>
parents: 34107
diff changeset
   343