tests: test failure reporting in blackbox code
Differential Revision: https://phab.mercurial-scm.org/D3560
--- a/tests/test-blackbox.t Mon May 14 12:53:13 2018 +0200
+++ b/tests/test-blackbox.t Tue May 15 09:57:58 2018 -0700
@@ -1,13 +1,26 @@
setup
+
+ $ cat > myextension.py <<EOF
+ > from mercurial import error, registrar
+ > cmdtable = {}
+ > command = registrar.command(cmdtable)
+ > @command(b'crash', [], b'hg crash')
+ > def crash(ui, *args, **kwargs):
+ > raise Exception("oops")
+ > EOF
+ $ abspath=`pwd`/myextension.py
+
$ cat >> $HGRCPATH <<EOF
> [extensions]
> blackbox=
> mock=$TESTDIR/mockblackbox.py
> mq=
+ > myextension=$TESTTMP/myextension.py
> [alias]
> confuse = log --limit 3
> so-confusing = confuse --style compact
> EOF
+
$ hg init blackboxtest
$ cd blackboxtest
@@ -21,6 +34,24 @@
1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> add a exited 0 after * seconds (glob)
1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000+ (5000)> blackbox --config *blackbox.dirty=True* (glob)
+failure exit code
+ $ rm ./.hg/blackbox.log
+ $ hg add non-existent
+ non-existent: $ENOENT$
+ [1]
+ $ hg blackbox
+ 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> add non-existent
+ 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> add non-existent exited 1 after * seconds (glob)
+ 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> blackbox
+
+unhandled exception
+ $ rm ./.hg/blackbox.log
+ $ hg crash 2> /dev/null
+ [1]
+ $ hg blackbox -l 2
+ 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> crash exited -1 after * seconds (glob)
+ 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> blackbox -l 2
+
alias expansion is logged
$ rm ./.hg/blackbox.log
$ hg confuse