##// END OF EJS Templates
tests: use pattern matching to mask `ECONNREFUSED` messages...
tests: use pattern matching to mask `ECONNREFUSED` messages The second and third one of these in `test-http-proxy.t` was failing on Windows. The others were found by grep and by failed tests when output was matched and an attempt was made to emit the mask pattern. The first clonebundles failure on Windows emitted: error fetching bundle: [WinError 10061] $ECONNREFUSED$ We should probably stringify that better to get rid of the "[WinError 10061]" part.

File last commit:

r50721:c84844cd default
r52835:73a43fe3 default
Show More
test-basic.t
260 lines | 5.4 KiB | text/troff | Tads3Lexer
Matt Mackall
tests: unify test-basic
r11742 Create a repository:
Gregory Szorc
tests: conditionalize tests based on presence of custom extensions...
r37360 #if no-extraextensions
Matt Mackall
config: make repo optional again
r20608 $ hg config
run-tests: use a small timeout for chg instance...
r48576 chgserver.idletimeout=60
Pierre-Yves David
devel: rename 'all' to 'all-warnings' (BC)...
r25290 devel.all-warnings=true
devel: activate default-date in tests...
r32410 devel.default-date=0 0
FUJIWARA Katsunori
tests: add extra output for fsmonitor at showconfig
r33426 extensions.fsmonitor= (fsmonitor !)
dirstate-v2: rename the configuration to enable the format...
r49523 format.use-dirstate-v2=1 (dirstate-v2 !)
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 largefiles.usercache=$TESTTMP/.cache/largefiles
lfs.usercache=$TESTTMP/.cache/lfs
Matt Mackall
config: make repo optional again
r20608 ui.slash=True
ui.interactive=False
Martin von Zweigbergk
errors: add config that lets user get more detailed exit codes...
r46430 ui.detailed-exit-code=True
Boris Feld
run-tests: define the default merge tool through configuration...
r40506 ui.merge=internal:merge
FUJIWARA Katsunori
filemerge: use 'basic' as the default of '[ui] mergemarkers' for safety...
r21918 ui.mergemarkers=detailed
Yuya Nishihara
ui: separate option to show prompt echo, enabled only in tests (issue4417)...
r23053 ui.promptecho=True
Valentin Gatien-Baron
tests: setup dummyssh as the default ssh...
r48731 ui.ssh=* (glob)
run-tests: allow some slack about 'waiting on lock' message...
r46636 ui.timeout.warn=15
Jun Wu
runtests: set web.address to localhost...
r31009 web.address=localhost
Jun Wu
runtests: always set web.ipv6...
r31010 web\.ipv6=(?:True|False) (re)
Gregory Szorc
hgweb: allow defining Server response header for HTTP server...
r37027 web.server-header=testing stub value
Gregory Szorc
tests: conditionalize tests based on presence of custom extensions...
r37360 #endif
Martin Geisler
tests: remove redundant mkdir...
r13956 $ hg init t
Matt Mackall
tests: unify test-basic
r11742 $ cd t
Bryan O'Sullivan
stdio: add Linux-specific tests for error checking
r31964 Prepare a changeset:
Matt Mackall
tests: unify test-basic
r11742
$ echo a > a
$ hg add a
Bryan O'Sullivan
stdio: add Linux-specific tests for error checking
r31964
$ hg status
A a
Writes to stdio succeed and fail appropriately
#if devfull
$ hg status 2>/dev/full
A a
$ hg status >/dev/full
Simon Sapin
tests: Adapt test-basic.t expected output for rhg...
r49164 abort: No space left on device* (glob)
Bryan O'Sullivan
stdio: add Linux-specific tests for error checking
r31964 [255]
Saurabh Singh
test-basic: make test compatible with chg...
r34449 #endif
Bryan O'Sullivan
stdio: add Linux-specific tests for error checking
r31964
Gregory Szorc
dispatch: handle IOError when writing to stderr...
r35671 #if devfull
Saurabh Singh
test-basic: make test compatible with chg...
r34449 $ hg status >/dev/full 2>&1
[255]
$ hg status ENOENT 2>/dev/full
[255]
#endif
Yuya Nishihara
procutil: assign pseudo file object if sys.stdout/stderr is missing...
r46791 On Python 3, stdio may be None:
$ hg debuguiprompt --config ui.interactive=true 0<&-
Raphaël Gomès
rust: update the minimum version of Rust...
r49117 abort: Bad file descriptor (no-rhg !)
abort: response expected (rhg !)
Yuya Nishihara
procutil: assign pseudo file object if sys.stdout/stderr is missing...
r46791 [255]
$ hg version -q 0<&-
Mercurial Distributed SCM * (glob)
Raphaël Gomès
rust: update the minimum version of Rust...
r49117 #if py3 no-rhg
Yuya Nishihara
procutil: assign pseudo file object if sys.stdout/stderr is missing...
r46791 $ hg version -q 1>&-
abort: Bad file descriptor
[255]
#else
$ hg version -q 1>&-
#endif
$ hg unknown -q 1>&-
hg: unknown command 'unknown'
(did you mean debugknown?)
Martin von Zweigbergk
error: use detailed exit code 10 for command errors...
r46888 [10]
Yuya Nishihara
procutil: assign pseudo file object if sys.stdout/stderr is missing...
r46791
$ hg version -q 2>&-
Mercurial Distributed SCM * (glob)
$ hg unknown -q 2>&-
Martin von Zweigbergk
error: use detailed exit code 10 for command errors...
r46888 [10]
Yuya Nishihara
procutil: assign pseudo file object if sys.stdout/stderr is missing...
r46791
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m test
Matt Mackall
tests: unify test-basic
r11742
This command is ancient:
$ hg history
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 0:acb14030fe0a
Matt Mackall
tests: unify test-basic
r11742 tag: tip
user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Matt Mackall
tests: unify test-basic
r11742 summary: test
Mark Drago
commands.update() now works properly with a revision of 0...
r13568 Verify that updating to revision 0 via commands.update() works properly
$ cat <<EOF > update_to_rev0.py
Matt Harbison
py3: fix module imports in tests, as flagged by test-check-module-imports.t...
r40405 > from mercurial import commands, hg, ui as uimod
> myui = uimod.ui.load()
Yuya Nishihara
py3: make test-basic.t pass on Python 3
r36656 > repo = hg.repository(myui, path=b'.')
Martin von Zweigbergk
tests: pass "rev" argument to commands.update() as string...
r38499 > commands.update(myui, repo, rev=b"0")
Mark Drago
commands.update() now works properly with a revision of 0...
r13568 > EOF
$ hg up null
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
Matt Harbison
tests: quote PYTHON usage...
r39743 $ "$PYTHON" ./update_to_rev0.py
Mark Drago
commands.update() now works properly with a revision of 0...
r13568 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg identify -n
0
Mads Kiilerich
check-code: fix check for trailing whitespace on empty lines...
r17346
Mark Drago
commands.update() now works properly with a revision of 0...
r13568
Matt Mackall
tests: unify test-basic
r11742 Poke around at hashes:
$ hg manifest --debug
b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 644 a
$ hg cat a
a
Verify should succeed:
$ hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
Raphaël Gomès
verify: also check dirstate...
r50721 checking dirstate
Meirambek Omyrzak
verify: make output less confusing (issue5924)...
r39525 checked 1 changesets with 1 changes to 1 files
Matt Mackall
tests: unify test-basic
r11742
Yuya Nishihara
templatekw: add {reporoot} keyword...
r36261 Repository root:
$ hg root
$TESTTMP/t
$ hg log -l1 -T '{reporoot}\n'
$TESTTMP/t
Yuya Nishihara
root: add support for -Tformatter option...
r42610 $ hg root -Tjson | sed 's|\\\\|\\|g'
[
{
Yuya Nishihara
root: add template variables pointing to repository directories...
r42611 "hgpath": "$TESTTMP/t/.hg",
"reporoot": "$TESTTMP/t",
"storepath": "$TESTTMP/t/.hg/store"
Yuya Nishihara
root: add support for -Tformatter option...
r42610 }
]
Yuya Nishihara
templatekw: add {reporoot} keyword...
r36261
Matt Mackall
tests: unify test-basic
r11742 At the end...
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
$ cd ..
Yuya Nishihara
ui: add config knob to redirect status messages to stderr (API)...
r40580
Status message redirection:
$ hg init empty
status messages are sent to stdout by default:
$ hg outgoing -R t empty -Tjson 2>/dev/null
comparing with empty
searching for changes
[
{
"bookmarks": [],
"branch": "default",
"date": [0, 0],
"desc": "test",
"node": "acb14030fe0a21b60322c440ad2d20cf7685a376",
"parents": ["0000000000000000000000000000000000000000"],
"phase": "draft",
"rev": 0,
"tags": ["tip"],
"user": "test"
}
]
which can be configured to send to stderr, so the output wouldn't be
interleaved:
$ cat <<'EOF' >> "$HGRCPATH"
> [ui]
> message-output = stderr
> EOF
$ hg outgoing -R t empty -Tjson 2>/dev/null
[
{
"bookmarks": [],
"branch": "default",
"date": [0, 0],
"desc": "test",
"node": "acb14030fe0a21b60322c440ad2d20cf7685a376",
"parents": ["0000000000000000000000000000000000000000"],
"phase": "draft",
"rev": 0,
"tags": ["tip"],
"user": "test"
}
]
$ hg outgoing -R t empty -Tjson >/dev/null
comparing with empty
searching for changes
this option should be turned off by HGPLAIN= since it may break scripting use:
$ HGPLAIN= hg outgoing -R t empty -Tjson 2>/dev/null
comparing with empty
searching for changes
[
{
"bookmarks": [],
"branch": "default",
"date": [0, 0],
"desc": "test",
"node": "acb14030fe0a21b60322c440ad2d20cf7685a376",
"parents": ["0000000000000000000000000000000000000000"],
"phase": "draft",
"rev": 0,
"tags": ["tip"],
"user": "test"
}
]
but still overridden by --config:
$ HGPLAIN= hg outgoing -R t empty -Tjson --config ui.message-output=stderr \
> 2>/dev/null
[
{
"bookmarks": [],
"branch": "default",
"date": [0, 0],
"desc": "test",
"node": "acb14030fe0a21b60322c440ad2d20cf7685a376",
"parents": ["0000000000000000000000000000000000000000"],
"phase": "draft",
"rev": 0,
"tags": ["tip"],
"user": "test"
}
]
Invalid ui.message-output option:
$ hg log -R t --config ui.message-output=bad
abort: invalid ui.message-output destination: bad
[255]
Underlying message streams should be updated when ui.fout/ferr are set:
$ cat <<'EOF' > capui.py
Gregory Szorc
py3: use io.BytesIO directly...
r49728 > import io
> from mercurial import registrar
Yuya Nishihara
ui: add config knob to redirect status messages to stderr (API)...
r40580 > cmdtable = {}
> command = registrar.command(cmdtable)
> @command(b'capui', norepo=True)
> def capui(ui):
> out = ui.fout
Gregory Szorc
py3: use io.BytesIO directly...
r49728 > ui.fout = io.BytesIO()
Yuya Nishihara
ui: add config knob to redirect status messages to stderr (API)...
r40580 > ui.status(b'status\n')
Gregory Szorc
py3: use io.BytesIO directly...
r49728 > ui.ferr = io.BytesIO()
Yuya Nishihara
ui: add config knob to redirect status messages to stderr (API)...
r40580 > ui.warn(b'warn\n')
> out.write(b'stdout: %s' % ui.fout.getvalue())
> out.write(b'stderr: %s' % ui.ferr.getvalue())
> EOF
$ hg --config extensions.capui=capui.py --config ui.message-output=stdio capui
stdout: status
stderr: warn