##// END OF EJS Templates
internals: extract frame-based protocol docs to own document...
internals: extract frame-based protocol docs to own document wireprotocol.txt is quite long and difficult to digest. The frame-based protocol is effectively a standalone concept (and could even be used outside of Mercurial). So this commit extracts its docs to a standalone file. The first few paragraphs were rewritten as part of the extraction. Sections headers were adjusted accordingly. Existing referalls in wireprotocol.txt were updated to refer to the new doc / concept, which I've started referring to as `hgrpc`. I'm on the fence as to whether to move the HTTP and SSH transport details to the new doc as well. For now, I'm leaving them in wireprotocol.txt. Differential Revision: https://phab.mercurial-scm.org/D4443

File last commit:

r38359:9abe91a5 default
r39594:b0e0db15 default
Show More
test-duplicateoptions.py
41 lines | 1.0 KiB | text/x-python | PythonLexer
/ tests / test-duplicateoptions.py
Robert Stanca
py3: use print_function in test-duplicateoptions.py
r28740 from __future__ import absolute_import, print_function
Idan Kamara
tests: add a test to check for duplicate command options
r14449 import os
Robert Stanca
py3: use absolute_import in test-duplicateoptions.py
r28739 from mercurial import (
commands,
extensions,
Yuya Nishihara
test-duplicateoptions: alias ui as uimod
r28804 ui as uimod,
Robert Stanca
py3: use absolute_import in test-duplicateoptions.py
r28739 )
Idan Kamara
tests: add a test to check for duplicate command options
r14449
John Stiles
graph: improve graph output by using Unicode characters...
r38359 ignore = {b'highlight', b'win32text', b'factotum', b'beautifygraph'}
Idan Kamara
tests: add a test to check for duplicate command options
r14449
if os.name != 'nt':
Augie Fackler
tests: update duplicateoptions test to use bytestrings everywhere...
r33689 ignore.add(b'win32mbcs')
Idan Kamara
tests: add a test to check for duplicate command options
r14449
disabled = [ext for ext in extensions.disabled().keys() if ext not in ignore]
Augie Fackler
tests: update duplicateoptions test to use bytestrings everywhere...
r33689 hgrc = open(os.environ["HGRCPATH"], 'wb')
hgrc.write(b'[extensions]\n')
Idan Kamara
tests: add a test to check for duplicate command options
r14449
for ext in disabled:
Augie Fackler
tests: update duplicateoptions test to use bytestrings everywhere...
r33689 hgrc.write(ext + b'=\n')
Idan Kamara
tests: add a test to check for duplicate command options
r14449
hgrc.close()
Yuya Nishihara
ui: factor out ui.load() to create a ui without loading configs (API)...
r30559 u = uimod.ui.load()
Idan Kamara
tests: add a test to check for duplicate command options
r14449 extensions.loadall(u)
Simon Heimberg
test: test for options duplicate with global options...
r15099 globalshort = set()
globallong = set()
for option in commands.globalopts:
option[0] and globalshort.add(option[0])
option[1] and globallong.add(option[1])
Augie Fackler
tests: update duplicateoptions test to use bytestrings everywhere...
r33689 for cmd, entry in commands.table.items():
Simon Heimberg
test: test for options duplicate with global options...
r15099 seenshort = globalshort.copy()
seenlong = globallong.copy()
Idan Kamara
tests: add a test to check for duplicate command options
r14449 for option in entry[1]:
if (option[0] and option[0] in seenshort) or \
(option[1] and option[1] in seenlong):
Robert Stanca
py3: use print_function in test-duplicateoptions.py
r28740 print("command '" + cmd + "' has duplicate option " + str(option))
Idan Kamara
tests: add a test to check for duplicate command options
r14449 seenshort.add(option[0])
seenlong.add(option[1])