##// END OF EJS Templates
manifest: move parsing functions up in file...
manifest: move parsing functions up in file These functions are about to change signature and be hidden inside the manifestdict constructor. Doing the code motion now as an isolated change to make things easier to review.

File last commit:

r20622:352abbb0 default
r24223:b4df0d0c default
Show More
test-duplicateoptions.py
36 lines | 964 B | text/x-python | PythonLexer
/ tests / test-duplicateoptions.py
Idan Kamara
tests: add a test to check for duplicate command options
r14449 import os
from mercurial import ui, commands, extensions
Matt Mackall
extensions: remove the inotify extension (BC)...
r20622 ignore = set(['highlight', 'win32text', 'factotum'])
Idan Kamara
tests: add a test to check for duplicate command options
r14449
if os.name != 'nt':
ignore.add('win32mbcs')
disabled = [ext for ext in extensions.disabled().keys() if ext not in ignore]
hgrc = open(os.environ["HGRCPATH"], 'w')
hgrc.write('[extensions]\n')
for ext in disabled:
hgrc.write(ext + '=\n')
hgrc.close()
u = ui.ui()
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])
Idan Kamara
tests: add a test to check for duplicate command options
r14449 for cmd, entry in commands.table.iteritems():
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):
print "command '" + cmd + "' has duplicate option " + str(option)
seenshort.add(option[0])
seenlong.add(option[1])