tests/test-basic.t
changeset 40547 840cd57cde32
parent 40470 d6b6f1b441cf
child 42418 9803323048b6
equal deleted inserted replaced
40543:7bffbbe03e90 40547:840cd57cde32
   100   $TESTTMP/t
   100   $TESTTMP/t
   101 
   101 
   102 At the end...
   102 At the end...
   103 
   103 
   104   $ cd ..
   104   $ cd ..
       
   105 
       
   106 Status message redirection:
       
   107 
       
   108   $ hg init empty
       
   109 
       
   110  status messages are sent to stdout by default:
       
   111 
       
   112   $ hg outgoing -R t empty -Tjson 2>/dev/null
       
   113   comparing with empty
       
   114   searching for changes
       
   115   [
       
   116    {
       
   117     "bookmarks": [],
       
   118     "branch": "default",
       
   119     "date": [0, 0],
       
   120     "desc": "test",
       
   121     "node": "acb14030fe0a21b60322c440ad2d20cf7685a376",
       
   122     "parents": ["0000000000000000000000000000000000000000"],
       
   123     "phase": "draft",
       
   124     "rev": 0,
       
   125     "tags": ["tip"],
       
   126     "user": "test"
       
   127    }
       
   128   ]
       
   129 
       
   130  which can be configured to send to stderr, so the output wouldn't be
       
   131  interleaved:
       
   132 
       
   133   $ cat <<'EOF' >> "$HGRCPATH"
       
   134   > [ui]
       
   135   > message-output = stderr
       
   136   > EOF
       
   137   $ hg outgoing -R t empty -Tjson 2>/dev/null
       
   138   [
       
   139    {
       
   140     "bookmarks": [],
       
   141     "branch": "default",
       
   142     "date": [0, 0],
       
   143     "desc": "test",
       
   144     "node": "acb14030fe0a21b60322c440ad2d20cf7685a376",
       
   145     "parents": ["0000000000000000000000000000000000000000"],
       
   146     "phase": "draft",
       
   147     "rev": 0,
       
   148     "tags": ["tip"],
       
   149     "user": "test"
       
   150    }
       
   151   ]
       
   152   $ hg outgoing -R t empty -Tjson >/dev/null
       
   153   comparing with empty
       
   154   searching for changes
       
   155 
       
   156  this option should be turned off by HGPLAIN= since it may break scripting use:
       
   157 
       
   158   $ HGPLAIN= hg outgoing -R t empty -Tjson 2>/dev/null
       
   159   comparing with empty
       
   160   searching for changes
       
   161   [
       
   162    {
       
   163     "bookmarks": [],
       
   164     "branch": "default",
       
   165     "date": [0, 0],
       
   166     "desc": "test",
       
   167     "node": "acb14030fe0a21b60322c440ad2d20cf7685a376",
       
   168     "parents": ["0000000000000000000000000000000000000000"],
       
   169     "phase": "draft",
       
   170     "rev": 0,
       
   171     "tags": ["tip"],
       
   172     "user": "test"
       
   173    }
       
   174   ]
       
   175 
       
   176  but still overridden by --config:
       
   177 
       
   178   $ HGPLAIN= hg outgoing -R t empty -Tjson --config ui.message-output=stderr \
       
   179   > 2>/dev/null
       
   180   [
       
   181    {
       
   182     "bookmarks": [],
       
   183     "branch": "default",
       
   184     "date": [0, 0],
       
   185     "desc": "test",
       
   186     "node": "acb14030fe0a21b60322c440ad2d20cf7685a376",
       
   187     "parents": ["0000000000000000000000000000000000000000"],
       
   188     "phase": "draft",
       
   189     "rev": 0,
       
   190     "tags": ["tip"],
       
   191     "user": "test"
       
   192    }
       
   193   ]
       
   194 
       
   195 Invalid ui.message-output option:
       
   196 
       
   197   $ hg log -R t --config ui.message-output=bad
       
   198   abort: invalid ui.message-output destination: bad
       
   199   [255]
       
   200 
       
   201 Underlying message streams should be updated when ui.fout/ferr are set:
       
   202 
       
   203   $ cat <<'EOF' > capui.py
       
   204   > from mercurial import pycompat, registrar
       
   205   > cmdtable = {}
       
   206   > command = registrar.command(cmdtable)
       
   207   > @command(b'capui', norepo=True)
       
   208   > def capui(ui):
       
   209   >     out = ui.fout
       
   210   >     ui.fout = pycompat.bytesio()
       
   211   >     ui.status(b'status\n')
       
   212   >     ui.ferr = pycompat.bytesio()
       
   213   >     ui.warn(b'warn\n')
       
   214   >     out.write(b'stdout: %s' % ui.fout.getvalue())
       
   215   >     out.write(b'stderr: %s' % ui.ferr.getvalue())
       
   216   > EOF
       
   217   $ hg --config extensions.capui=capui.py --config ui.message-output=stdio capui
       
   218   stdout: status
       
   219   stderr: warn