Mercurial > public > mercurial-scm > hg-stable
diff mercurial/debugcommands.py @ 37047:d3a9036d9ae9
util: don't log low-level I/O calls for HTTP peer
`hg debugwireproto` is useful for testing HTTP interactions. Possibly
more useful than `get-with-headers.py`. But one thing that makes it
annoying for mid-level tests is that it logs all API calls, such
as readline(). This makes output - especially headers - overly
verbose.
This commit teaches our file and socket observers to not log API
calls on functions dealing with data.
We change the behavior of `hg debugwireproto` to enable this mode
by default. --debug can be added to restore the previous behavior.
As the test changes demonstrate, this makes tests much easier to
read. As a bonus, it also removes some required (glob) over lengths
in system call results.
One thing that's lacking is knowing which side sent data. But we can
fix this in a follow-up once it becomes a problem.
Differential Revision: https://phab.mercurial-scm.org/D2842
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Tue, 13 Mar 2018 11:20:07 -0700 |
parents | b6a7070e7663 |
children | a708e1e4d7a8 |
line wrap: on
line diff
--- a/mercurial/debugcommands.py Wed Mar 21 09:56:41 2018 -0700 +++ b/mercurial/debugcommands.py Tue Mar 13 11:20:07 2018 -0700 @@ -2839,9 +2839,13 @@ r'loggingname': b's', r'loggingopts': { r'logdata': True, + r'logdataapis': False, }, } + if ui.debugflag: + openerargs[r'loggingopts'][r'logdataapis'] = True + opener = urlmod.opener(ui, authinfo, **openerargs) if opts['peer'] == 'raw':