##// END OF EJS Templates
tests: use the `--quiet` flag for verify when applicable...
tests: use the `--quiet` flag for verify when applicable This reduces a lot of the test output that was otherwise useless, and also makes it a lot easier to add things to verify without breaking the test suite because of additional output.

File last commit:

r49728:5aafc3c5 default
r50720:2f2682f4 default
Show More
test-basic.t
259 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
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