tests: remove filepeer usage from several tests (part3)

Summary:
This is part of removing filepeer. I also enabled treemanifest and
modernclient (i.e. lazy changelog) on a few tests.

Reviewed By: quark-zju

Differential Revision: D31309311

fbshipit-source-id: e1c81b8433e7400b2273aea6b2a5d7a6f5c91a9e
This commit is contained in:
Durham Goode 2021-10-18 14:48:32 -07:00 committed by Facebook GitHub Bot
parent 3e5e46f131
commit a7dae2f7ee
19 changed files with 93 additions and 140 deletions

View File

@ -1,5 +1,4 @@
#chg-compatible
$ setconfig experimental.allowfilepeer=True
The ordering and format of case collisions detected using treemanifest is
different, so this is a different test script.

View File

@ -1,6 +1,4 @@
#chg-compatible
$ setconfig experimental.allowfilepeer=True
$ configure modern
$ export HG_TEST_DYNAMICCONFIG="$TESTTMP/test_hgrc"

View File

@ -1,6 +1,4 @@
#chg-compatible
$ setconfig experimental.allowfilepeer=True
$ configure modern
$ enable shelve

View File

@ -1,14 +1,14 @@
#chg-compatible
$ setconfig experimental.allowfilepeer=True
$ configure modernclient
Testing diff --change
$ hg init a
$ cd a
$ newclientrepo a
$ echo "first" > file.txt
$ hg add file.txt
$ hg commit -m 'first commit' # 0
$ hg push -q -r . --to head0 --create
$ echo "second" > file.txt
$ hg commit -m 'second commit' # 1
@ -31,14 +31,12 @@ Testing diff --change
@@ -1,1 +1,1 @@
-first
+second
$ cd ..
$ hg push -q -r . --to book --create
Test dumb revspecs: top-level "x:y", "x:", ":y" and ":" ranges should be handled
as pairs even if x == y, but not for "f(x:y)" nor "x::y" (issue3474, issue4774)
$ hg clone -q a dumbspec
$ cd dumbspec
$ newclientrepo dumbspec test:a_server book
$ echo "wdir" > file.txt
$ hg diff -r 'desc(third)':'desc(third)'
@ -71,13 +69,10 @@ as pairs even if x == y, but not for "f(x:y)" nor "x::y" (issue3474, issue4774)
abort: empty revision range
[255]
$ cd ..
$ hg clone -qr0 a dumbspec-rev0
$ cd dumbspec-rev0
$ newclientrepo dumbspec-rev0 test:a_server book head0
$ hg up -q head0
$ echo "wdir" > file.txt
$ hg diff -r :
$ hg diff -r 'first(:)' --nodates
diff -r 4bb65dda5db4 file.txt
--- a/file.txt

View File

@ -1,6 +1,4 @@
#chg-compatible
$ setconfig experimental.allowfilepeer=True
$ configure modern
$ newserver server1
$ drawdag << 'EOS'

View File

@ -1,5 +1,4 @@
#chg-compatible
$ setconfig experimental.allowfilepeer=True
$ configure modern
$ setconfig format.use-symlink-atomic-write=1

View File

@ -1,6 +1,4 @@
#chg-compatible
$ setconfig experimental.allowfilepeer=True
$ configure modern
$ setconfig paths.default=test:e1 ui.traceback=1

View File

@ -8,75 +8,21 @@ from __future__ import absolute_import
from testutil.dott import feature, sh, testtmp # noqa: F401
sh % "configure modernclient"
sh % "setconfig experimental.allowfilepeer=True"
sh % "setconfig 'extensions.treemanifest=!'"
# Create an empty repo:
sh % "hg init a"
sh % "cd a"
sh % "newclientrepo a"
# Try some commands:
sh % "hg log"
sh % "hg histgrep wah" == "[1]"
sh % "hg manifest"
sh % "hg verify" == "warning: verify does not actually check anything in this repo"
# Check the basic files created:
sh % "ls .hg" == r"""
00changelog.i
blackbox
hgrc.dynamic
reponame
requires
store
treestate"""
# Should be empty:
# It's not really empty, though.
sh % "ls .hg/store" == r"""
allheads
metalog
requires"""
# Poke at a clone:
sh % "hg push -r . -q --to book --create"
sh % "cd .."
sh % "hg clone a b" == r"""
updating to branch default
0 files updated, 0 files merged, 0 files removed, 0 files unresolved"""
sh % "cd b"
sh % "hg verify" == "warning: verify does not actually check anything in this repo"
sh % "ls .hg" == r"""
00changelog.i
blackbox
dirstate
hgrc
hgrc.dynamic
reponame
requires
store
treestate
undo.branch
undo.desc
undo.dirstate"""
# Should be empty:
# It's not really empty, though.
sh % "ls .hg/store" == r"""
00changelog.d
00changelog.i
00changelog.len
allheads
metalog
requires
undo
undo.backupfiles
undo.bookmarks
undo.phaseroots"""
sh % "cd .."
sh % "newclientrepo b test:a_server" == ""
sh % "hg log" == ""

View File

@ -1,6 +1,4 @@
#chg-compatible
$ setconfig experimental.allowfilepeer=True
$ configure mutation-norecord dummyssh
$ enable amend crdump remotenames
$ showgraph() {

View File

@ -1,5 +1,4 @@
$ configure modern
$ setconfig experimental.allowfilepeer=True
$ newserver master
$ cat >> .hg/hgrc <<EOF

View File

@ -1,6 +1,4 @@
#chg-compatible
$ setconfig experimental.allowfilepeer=True
$ configure dummyssh
$ enable fastannotate

View File

@ -8,7 +8,6 @@ from __future__ import absolute_import
from testutil.dott import feature, sh, testtmp # noqa: F401
sh % "setconfig experimental.allowfilepeer=True"
(
sh % "cat"
<< r"""
@ -53,8 +52,8 @@ sh % "hg log -r D1234 -T '{desc}\n'" == r"""
[255]"""
# 'pull -r Dxxx' will be rewritten to 'pull -r HASH'
sh % "hg pull -r D1234 --config paths.default=." == r"""
pulling from $TESTTMP/repo
sh % "hg pull -r D1234 --config paths.default=test:fake_server" == r"""
pulling from test:fake_server
rewriting pull rev 'D1234' into '6008bb23d775556ff6c3528541ca5a2177b4bb92'
abort: unknown revision '6008bb23d775556ff6c3528541ca5a2177b4bb92'!
[255]"""

View File

@ -1,6 +1,4 @@
#chg-compatible
$ setconfig experimental.allowfilepeer=True
Setup

View File

@ -1,5 +1,4 @@
#chg-compatible
$ setconfig experimental.allowfilepeer=True
$ disable treemanifest

View File

@ -1,5 +1,4 @@
#chg-compatible
$ setconfig experimental.allowfilepeer=True
$ enable blackbox rage smartlog sparse

View File

@ -10,8 +10,7 @@ from __future__ import absolute_import
from testutil.dott import feature, sh, testtmp # noqa: F401
sh % "setconfig experimental.allowfilepeer=True"
sh % "setconfig 'extensions.treemanifest=!'"
sh % "configure modernclient"
(
sh % "cat"
<< r"""
@ -22,25 +21,22 @@ remotenames=
>> "$HGRCPATH"
)
sh % "hg init repo"
sh % "cd repo"
sh % "newclientrepo repo"
sh % "echo x" > "x"
sh % "hg commit -qAm x"
sh % "hg book foo"
sh % "echo x" >> "x"
sh % "hg commit -qAm x2"
sh % "hg push -q -r . --to foo --create"
# Resetting past a remote bookmark should not delete the remote bookmark
sh % "cd .."
sh % "hg clone repo client" == r"""
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved"""
sh % "cd client"
sh % "newclientrepo client test:repo_server foo"
sh % "hg book --list-remote *"
sh % "hg book bar"
sh % "hg reset --clean 'default/foo^'"
sh % "hg reset --clean 'remote/foo^'"
sh % "hg log -G -T '{node|short} {bookmarks} {remotebookmarks}\\n'" == r"""
o a89d614e2364 default/foo
o a89d614e2364 remote/foo
@ b292c1e3311f bar"""

View File

@ -1,5 +1,4 @@
#chg-compatible
$ setconfig experimental.allowfilepeer=True
To run this test against other shells, use the shell argument, eg:
run-tests.py --shell=zsh test-scm-prompt*

View File

@ -10,8 +10,8 @@ from __future__ import absolute_import
from testutil.dott import feature, sh, testtmp # noqa: F401
sh % "setconfig experimental.allowfilepeer=True"
sh % "setconfig 'extensions.treemanifest=!'"
sh % "configure modernclient"
(
sh % "cat"
<< r"""
@ -22,38 +22,34 @@ remotenames=
>> "$HGRCPATH"
)
sh % "hg init repo"
sh % "cd repo"
sh % "newclientrepo repo"
sh % "echo x" > "x"
sh % "hg commit -qAm x"
sh % "hg book master"
sh % "hg commit -qAm x1"
sh % "hg book master1"
sh % "echo x" >> "x"
sh % "hg commit -qAm x2"
sh % "hg push -r . -q --to master1 --create"
# Non-bookmarked public heads should not be visible in smartlog
sh % "cd .."
sh % "hg clone repo client" == r"""
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved"""
sh % "cd client"
sh % "hg book mybook -r 0"
sh % "hg up 0" == "1 files updated, 0 files merged, 0 files removed, 0 files unresolved"
sh % "hg smartlog -T '{rev} {bookmarks} {remotebookmarks}'" == r"""
o 1 default/master
sh % "newclientrepo client test:repo_server master1" == ""
sh % "hg book mybook -r 'desc(x1)'"
sh % "hg up 'desc(x1)'" == "1 files updated, 0 files merged, 0 files removed, 0 files unresolved"
sh % "hg smartlog -T '{desc} {bookmarks} {remotebookmarks}'" == r"""
o x2 remote/master1
@ 0 mybook"""
@ x1 mybook"""
# Old head (rev 1) is still visible
sh % "echo z" >> "x"
sh % "hg commit -qAm x3"
sh % "hg push --non-forward-move -q --to master"
sh % "hg smartlog -T '{rev} {bookmarks} {remotebookmarks}'" == r"""
@ 2 default/master
sh % "hg push --non-forward-move -q --to master1"
sh % "hg smartlog -T '{desc} {bookmarks} {remotebookmarks}'" == r"""
@ x3 remote/master1
o 0 mybook"""
o x1 mybook"""
# Test configuration of "interesting" bookmarks
@ -61,18 +57,20 @@ sh % "hg up -q '.^'"
sh % "echo x" >> "x"
sh % "hg commit -qAm x4"
sh % "hg push -q --to project/bookmark --create"
sh % "hg smartlog -T '{rev} {bookmarks} {remotebookmarks}'" == r"""
o 2 default/master
sh % "hg smartlog -T '{desc} {bookmarks} {remotebookmarks}'" == r"""
o x3 remote/master1
@ 3 default/project/bookmark
@ x4
o 0 mybook"""
o x1 mybook"""
sh % "hg up '.^'" == "1 files updated, 0 files merged, 0 files removed, 0 files unresolved"
sh % "hg smartlog -T '{rev} {bookmarks} {remotebookmarks}'" == r"""
o 2 default/master
sh % "hg smartlog -T '{desc} {bookmarks} {remotebookmarks}'" == r"""
o x3 remote/master1
@ 0 mybook"""
o x4
@ x1 mybook"""
(
sh % "cat"
<< r"""
@ -82,10 +80,12 @@ names=project/bookmark
"""
>> "$HGRCPATH"
)
sh % "hg smartlog -T '{rev} {bookmarks} {remotebookmarks}'" == r"""
o 3 default/project/bookmark
sh % "hg smartlog -T '{desc} {bookmarks} {remotebookmarks}'" == r"""
o x3 remote/master1
@ 0 mybook"""
o x4
@ x1 mybook"""
(
sh % "cat"
<< r"""
@ -94,9 +94,9 @@ names=master project/bookmark
"""
>> "$HGRCPATH"
)
sh % "hg smartlog -T '{rev} {bookmarks} {remotebookmarks}'" == r"""
o 2 default/master
sh % "hg smartlog -T '{desc} {bookmarks} {remotebookmarks}'" == r"""
o x3 remote/master1
o 3 default/project/bookmark
o x4
@ 0 mybook"""
@ x1 mybook"""

View File

@ -348,7 +348,7 @@ def setconfig(*args):
def setmodernconfig():
enable("remotenames", "amend", "journal", "blackbox")
enable("remotenames", "amend", "journal", "blackbox", "infinitepush")
setconfig(
"experimental.narrow-heads=true",
"visibility.enabled=true",
@ -357,6 +357,22 @@ def setmodernconfig():
"mutation.date=0 0",
"experimental.evolution=obsolete",
"remotenames.rename.default=remote",
"remotenames.hoist=remote",
"remotenames.selectivepull=True",
"remotenames.selectivepulldefault=master",
"experimental.changegroup3=True",
)
def setmodernclient():
setmodernconfig()
from .. import testtmp # avoid side effect
open(os.path.join(testtmp.TESTTMP, ".eagerepo"), "w+").write("")
setconfig(
"clone.force-edenapi-clonedata=True",
"remotefilelog.http=True",
"treemanifest.http=True",
)
@ -364,6 +380,8 @@ def configure(*args):
for arg in args:
if arg == "dummyssh":
setconfig("ui.ssh={}".format(DUMMYSSH))
elif arg == "modernclient":
setmodernclient()
else:
raise RuntimeError("Unrecognised configure: {}".format(arg))
@ -383,6 +401,25 @@ def newrepo(name=None):
cd(path)
def newclientrepo(name=None, server=None, *bookmarks):
from .. import testtmp # avoid side effect
if name is None:
global _newrepoid
_newrepoid += 1
name = "repo%s" % _newrepoid
path = os.path.join(testtmp.TESTTMP, name)
if server is None:
server = "test:%s_server" % name
hgexcept("clone", server, path)
cd(path)
for bookmark in bookmarks:
hgexcept("pull", "-q", "-B", bookmark)
hg("up", "-q", "tip")
rm(os.path.join(path, ".hg", "blackbox*"))
def drawdag(*args, **kwargs):
result = hg("debugdrawdag", *args, **kwargs)
for line in hg("book", "-T", "{bookmark}={node}\n").splitlines():