sapling/eden/scm/tests/test-debugmetalog-t.py
Jun Wu c72cd2333f metalog: remove conditional metalog logic
Summary:
Now metalog can no longer be `None`. Let's just remove logic handling its
`None` case.

This changes the commitcloud-sync-race test because the metalog itself has
internal locking and changes are atomic.

Reviewed By: DurhamG

Differential Revision: D28595292

fbshipit-source-id: bd9851f5f3bb25f28f15d673f608af2863953c46
2021-05-25 19:43:45 -07:00

118 lines
4.4 KiB
Python

# coding=utf-8
# Copyright (c) Facebook, Inc. and its affiliates.
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2.
from __future__ import absolute_import
from testutil.dott import feature, sh, testtmp # noqa: F401
sh.setconfig(
"visibility.enabled=true",
"experimental.narrow-heads=1",
"remotenames.selectivepull=1",
"mutation.date=0 0",
# Do not track config changes to stabilize the test a bit.
"metalog.track-config=0",
)
sh.newrepo()
sh.enable("remotenames", "amend")
(
sh % "hg debugdrawdag"
<< r"""
C
|
B
|
A
"""
)
sh.hg("update", "desc(A)")
sh.hg("bookmark", "foo")
sh.hg("update", "desc(C)")
sh.hg("bookmark", "foo")
(
sh % "hg debugdrawdag"
<< r"""
E
|
D
|
desc(B)
"""
)
sh.hg("update", "desc(E)")
sh.hg("metaedit", "-mE1")
sh % "hg debugmetalog" == r"""
@ 25b25cf4a935 E1
│ 1970-01-01 00:00:00 +0000: E (added by metaedit -mE1)
│ 1970-01-01 00:00:00 +0000: . (added by metaedit -mE1)
│ x a6c8ab8ac0c6 E
├─╯ 1970-01-01 00:00:00 +0000: E (removed by metaedit -mE1)
│ 1970-01-01 00:00:00 +0000: E (added by debugdrawdag)
│ 1970-01-01 00:00:00 +0000: . (removed by metaedit -mE1)
│ 1970-01-01 00:00:00 +0000: . (added by debugdrawdag)
o be0ef73c17ad D
│ 1970-01-01 00:00:00 +0000: D (added by debugdrawdag)
│ 1970-01-01 00:00:00 +0000: . (removed by debugdrawdag)
│ 1970-01-01 00:00:00 +0000: . (added by debugdrawdag)
│ o 26805aba1e60 C
├─╯ 1970-01-01 00:00:00 +0000: foo (added by bookmark foo)
│ 1970-01-01 00:00:00 +0000: C (added by debugdrawdag)
│ 1970-01-01 00:00:00 +0000: . (added by debugdrawdag)
o 112478962961 B
│ 1970-01-01 00:00:00 +0000: B (added by debugdrawdag)
│ 1970-01-01 00:00:00 +0000: . (removed by debugdrawdag)
o 426bada5c675 A
1970-01-01 00:00:00 +0000: foo (removed by bookmark foo)
1970-01-01 00:00:00 +0000: foo (added by bookmark foo)
1970-01-01 00:00:00 +0000: . (removed by debugdrawdag)"""
sh % "hg debugmetalogroots -v" == r"""
14 1970-01-01 00:00:00 +0000 e101d079054ded8fb61926aa99c6abb5162925f5 metaedit -mE1 Transaction: metaedit
13 1970-01-01 00:00:00 +0000 ff82865a3d1b68db09dd5bdf19a14b0d9af724b0 debugdrawdag Transaction: bookmark
12 1970-01-01 00:00:00 +0000 ce551e7adf176b648a9fca3ff1dfd0d168e9b9ab debugdrawdag Transaction: commit
11 1970-01-01 00:00:00 +0000 6526ac5762293b2f27d3d367492ec2f7941b8250 debugdrawdag Transaction: bookmark
10 1970-01-01 00:00:00 +0000 590432f4f161f2ab0b5cf78fd64c9aee54572c51 debugdrawdag Transaction: commit
9 1970-01-01 00:00:00 +0000 64ba23c13141797476fbf8dda015c9a733b25d1f bookmark foo Transaction: bookmark
8 1970-01-01 00:00:00 +0000 280022070a10d2a1a752f6e0951c7649fa3aeed0 bookmark foo Transaction: bookmark
7 1970-01-01 00:00:00 +0000 2b568bbe60079854ed4204d6c23632ec148ba374 debugdrawdag Transaction: bookmark
6 1970-01-01 00:00:00 +0000 6002154bee3bcd116f66ce7e8a39a17863d30bf4 debugdrawdag Transaction: commit
5 1970-01-01 00:00:00 +0000 8cbb80514b72ecf0e96d4aac3bd6138179acaa8e debugdrawdag Transaction: bookmark
4 1970-01-01 00:00:00 +0000 c7b19359bc92edd4ff376128f551fa47d2167a22 debugdrawdag Transaction: commit
3 1970-01-01 00:00:00 +0000 c94b525421a275f3af67c8780587af81b2eac8ae debugdrawdag Transaction: bookmark
2 1970-01-01 00:00:00 +0000 d4275ab8efc006b015186bd434e7935dd7d653f7 debugdrawdag Transaction: commit
1 1970-01-01 00:00:00 +0000 433fb6a14b4e7044062a8886ddcb13ffa34a78c1 migrate from vfs
0 1970-01-01 00:00:00 +0000 29e2dcfbb16f63bb0254df7585a15bb6fb5e927d"""
sh % "hg up -q null"
sh % "HGFORCEMETALOGROOT=280022070a10d2a1a752f6e0951c7649fa3aeed0 hg log -G -r 'all()' -T '{desc} {bookmarks}'" == r"""
o C C
o B B
o A A foo
hint[metalog-root-override]: MetaLog root was overridden to 280022070a10d2a1a752f6e0951c7649fa3aeed0 by an environment variable. This should only be used for debugging.
hint[hint-ack]: use 'hg hint --ack metalog-root-override' to silence these hints"""
sh % "hg debugcompactmetalog"
sh % "hg debugmetalogroots -v" == r"""
1 1970-01-01 00:00:00 +0000 e101d079054ded8fb61926aa99c6abb5162925f5 metaedit -mE1 Transaction: metaedit
0 1970-01-01 00:00:00 +0000 29e2dcfbb16f63bb0254df7585a15bb6fb5e927d"""