##// END OF EJS Templates
eol: rename 'error' to 'haserror'...
eol: rename 'error' to 'haserror' The variable 'error' conflict with the module name that we would like to import and use in a coming changeset.

File last commit:

r20622:352abbb0 default
r26586:d51c658d 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])