sapling/tests/test-checkoutidentifier-dirstateinfo.t
Mark Thomas 94257a258b blackbox: clean up blackbox logging and log more during rage
Summary:
Clean up some of the calls to `ui.log` and how they appear in blackbox logging.

* Make the names of the events consistently use `snake_case`.
* For watchman, only log once for each watchman command.  Include whether or not it failed.
* Unify `fsmonitor` logging under the `fsmonitor` event.
* Omit the second argument when it is empty - it is optional and does nothing when empty.
* Increase the number of blackbox lines included in rage to 100.

Reviewed By: quark-zju

Differential Revision: D14949868

fbshipit-source-id: a9aa8251e71ae7ca556c08116f8f7c61ff472218
2019-04-23 02:48:50 -07:00

57 lines
2.7 KiB
Raku

$ enable amend
$ setconfig extensions.extralog=$TESTDIR/extralog.py
$ setconfig extensions.staleidentifiers=$TESTDIR/stableidentifiers.py
$ setconfig extralog.events=dirstate_info extralog.keywords=true
$ newrepo
$ echo base > base
$ hg commit -Am base
dirstate_info (precheckoutidentifier= prewdirparent1= prewdirparent2=)
adding base
dirstate_info (postcheckoutidentifier=0000000000000000 postwdirparent1=d20a80d4def38df63a4b330b7fb688f3d4cae1e3 postwdirparent2=)
$ hg debugcheckoutidentifier
dirstate_info (precheckoutidentifier=0000000000000000 prewdirparent1=d20a80d4def38df63a4b330b7fb688f3d4cae1e3 prewdirparent2=)
0000000000000000
dirstate_info (postcheckoutidentifier=0000000000000000 postwdirparent1=d20a80d4def38df63a4b330b7fb688f3d4cae1e3 postwdirparent2=)
$ echo 1 > 1
$ hg commit -Am 1
dirstate_info (precheckoutidentifier=0000000000000000 prewdirparent1=d20a80d4def38df63a4b330b7fb688f3d4cae1e3 prewdirparent2=)
adding 1
dirstate_info (postcheckoutidentifier=0000000000000001 postwdirparent1=f0161ad23099c690115006c21e96f780f5d740b6 postwdirparent2=)
$ hg debugcheckoutidentifier
dirstate_info (precheckoutidentifier=0000000000000001 prewdirparent1=f0161ad23099c690115006c21e96f780f5d740b6 prewdirparent2=)
0000000000000001
dirstate_info (postcheckoutidentifier=0000000000000001 postwdirparent1=f0161ad23099c690115006c21e96f780f5d740b6 postwdirparent2=)
An extension which makes the log command slow
$ cat > $TESTTMP/slowlog.py <<EOF
> from edenscm.mercurial import commands, extensions, util
> import time
> def log(orig, ui, repo, *args, **kwargs):
> ui.flush()
> ret = orig(ui, repo, *args, **kwargs)
> time.sleep(2)
> return ret
> def uisetup(ui):
> extensions.wrapcommand(commands.table, "log", log)
> EOF
Test the race between a slow log process and a command that checks out a new commit.
The log process's post-run information shouldn't have changed.
$ hg log -r . -T "{node}\n" --config extensions.slowlog=$TESTTMP/slowlog.py > $TESTTMP/log.out &
$ sleep 1
$ hg prev
dirstate_info (precheckoutidentifier=0000000000000001 prewdirparent1=f0161ad23099c690115006c21e96f780f5d740b6 prewdirparent2=)
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
[d20a80] base
dirstate_info (postcheckoutidentifier=0000000000000002 postwdirparent1=d20a80d4def38df63a4b330b7fb688f3d4cae1e3 postwdirparent2=)
$ wait
$ cat $TESTTMP/log.out
dirstate_info (precheckoutidentifier=0000000000000001 prewdirparent1=f0161ad23099c690115006c21e96f780f5d740b6 prewdirparent2=)
f0161ad23099c690115006c21e96f780f5d740b6
dirstate_info (postcheckoutidentifier=0000000000000001 postwdirparent1=f0161ad23099c690115006c21e96f780f5d740b6 postwdirparent2=)