sapling/eden/scm/tests/helpers-wireprotologging.sh
Muir Manders 44343769f8 collapse edenscm.mercurial package into edenscm
Summary:
We want to rename away from "mercurial". Rather than rename the "mercurial" Python package, we opted to just collapse it into the parent "edenscm" package. This is also a step towards further organizing we want to do around the new project name.

To ease the transition wrt hotfixes, we now replace "edenscm.mercurial" with "mercurial" to fix imports within base64-python extensions.

Reviewed By: sggutier

Differential Revision: D38943169

fbshipit-source-id: 03fa18079c51e2f7fac05d65b127095da3ab7c99
2022-08-24 13:45:53 -07:00

37 lines
1.0 KiB
Bash

capturewireprotologs() {
cat >> "$TESTTMP/uilog.py" <<EOF
from edenscm import extensions
from edenscm import ui as uimod
def uisetup(ui):
extensions.wrapfunction(uimod.ui, 'log', mylog)
def mylog(orig, self, service, *msg, **opts):
if service in ['wireproto_requests']:
kw = []
for k, v in sorted(opts.items()):
if k == 'args':
v = eval(v)
for arg in v:
if isinstance(arg, dict):
v = sorted(list(arg.items()))
v = str(v)
kw.append("%s=%s" % (k, v))
kwstr = ", ".join(kw)
msgstr = msg[0] % msg[1:]
self.warn('%s: %s (%s)\n' % (service, msgstr, kwstr))
with open('$TESTTMP/loggedrequests', 'a') as f:
f.write('%s: %s (%s)\n' % (service, msgstr, kwstr))
return orig(self, service, *msg, **opts)
EOF
cat >> "$HGRCPATH" <<EOF
[extensions]
uilog=$TESTTMP/uilog.py
[wireproto]
logrequests=batch,branchmap,getbundle,hello,listkeys,lookup,between,unbundle
loggetpack=True
EOF
}