tests/notcapable
author Pulkit Goyal <7895pulkit@gmail.com>
Tue, 07 Jul 2020 12:42:39 +0530
changeset 45126 48c38018bd77
parent 42823 268662aac075
child 49865 ff7134e03629
permissions -rw-r--r--
extdiff: refactor logic which does diff of patches The current extdiff code is hard to understand on first look. Took me few hours to grasp the code. Before adding more things, decided to do some refactoring. Differential Revision: https://phab.mercurial-scm.org/D8686
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
14011
b69471bdb678 tests: add script to disable a selected wire protocol capability
Steven Brown <StevenGBrown@gmail.com>
parents:
diff changeset
     1
# Disable the $CAP wire protocol capability.
b69471bdb678 tests: add script to disable a selected wire protocol capability
Steven Brown <StevenGBrown@gmail.com>
parents:
diff changeset
     2
b69471bdb678 tests: add script to disable a selected wire protocol capability
Steven Brown <StevenGBrown@gmail.com>
parents:
diff changeset
     3
if test -z "$CAP"
b69471bdb678 tests: add script to disable a selected wire protocol capability
Steven Brown <StevenGBrown@gmail.com>
parents:
diff changeset
     4
then
b69471bdb678 tests: add script to disable a selected wire protocol capability
Steven Brown <StevenGBrown@gmail.com>
parents:
diff changeset
     5
    echo "CAP environment variable not set."
b69471bdb678 tests: add script to disable a selected wire protocol capability
Steven Brown <StevenGBrown@gmail.com>
parents:
diff changeset
     6
fi
b69471bdb678 tests: add script to disable a selected wire protocol capability
Steven Brown <StevenGBrown@gmail.com>
parents:
diff changeset
     7
b69471bdb678 tests: add script to disable a selected wire protocol capability
Steven Brown <StevenGBrown@gmail.com>
parents:
diff changeset
     8
cat > notcapable-$CAP.py << EOF
42823
268662aac075 interfaces: create a new folder for interfaces and move repository.py in it
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 41339
diff changeset
     9
from mercurial import extensions, localrepo
268662aac075 interfaces: create a new folder for interfaces and move repository.py in it
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 41339
diff changeset
    10
from mercurial.interfaces import repository
41071
28a4fb793ba1 extensions: deprecate extsetup without a `ui` argument (API)
Matt Harbison <matt_harbison@yahoo.com>
parents: 33827
diff changeset
    11
def extsetup(ui):
33827
dedab036215d wireproto: use new peer interface
Gregory Szorc <gregory.szorc@gmail.com>
parents: 17192
diff changeset
    12
    extensions.wrapfunction(repository.peer, 'capable', wrapcapable)
17192
1ac628cd7113 peer: introduce real peer classes
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14409
diff changeset
    13
    extensions.wrapfunction(localrepo.localrepository, 'peer', wrappeer)
1ac628cd7113 peer: introduce real peer classes
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14409
diff changeset
    14
def wrapcapable(orig, self, name, *args, **kwargs):
41339
15fd3069caa6 tests: add b'' to notcapable
Gregory Szorc <gregory.szorc@gmail.com>
parents: 41071
diff changeset
    15
    if name in b'$CAP'.split(b' '):
14011
b69471bdb678 tests: add script to disable a selected wire protocol capability
Steven Brown <StevenGBrown@gmail.com>
parents:
diff changeset
    16
        return False
b69471bdb678 tests: add script to disable a selected wire protocol capability
Steven Brown <StevenGBrown@gmail.com>
parents:
diff changeset
    17
    return orig(self, name, *args, **kwargs)
17192
1ac628cd7113 peer: introduce real peer classes
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14409
diff changeset
    18
def wrappeer(orig, self):
1ac628cd7113 peer: introduce real peer classes
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14409
diff changeset
    19
    # Since we're disabling some newer features, we need to make sure local
1ac628cd7113 peer: introduce real peer classes
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14409
diff changeset
    20
    # repos add in the legacy features again.
1ac628cd7113 peer: introduce real peer classes
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14409
diff changeset
    21
    return localrepo.locallegacypeer(self)
14011
b69471bdb678 tests: add script to disable a selected wire protocol capability
Steven Brown <StevenGBrown@gmail.com>
parents:
diff changeset
    22
EOF
b69471bdb678 tests: add script to disable a selected wire protocol capability
Steven Brown <StevenGBrown@gmail.com>
parents:
diff changeset
    23
b69471bdb678 tests: add script to disable a selected wire protocol capability
Steven Brown <StevenGBrown@gmail.com>
parents:
diff changeset
    24
echo '[extensions]' >> $HGRCPATH
b69471bdb678 tests: add script to disable a selected wire protocol capability
Steven Brown <StevenGBrown@gmail.com>
parents:
diff changeset
    25
echo "notcapable-$CAP = `pwd`/notcapable-$CAP.py" >> $HGRCPATH