Mercurial > hg
changeset 14449:7d171c05a631
tests: add a test to check for duplicate command options
author | Idan Kamara <idankk86@gmail.com> |
---|---|
date | Fri, 27 May 2011 17:51:16 +0300 |
parents | 7d367e8f892d |
children | d1a1578c5f78 |
files | tests/test-duplicateoptions.py |
diffstat | 1 files changed, 30 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-duplicateoptions.py Fri May 27 17:51:16 2011 +0300 @@ -0,0 +1,30 @@ +import os +from mercurial import ui, commands, extensions + +ignore = set(['highlight', 'win32text']) + +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) + +for cmd, entry in commands.table.iteritems(): + seenshort = set() + seenlong = set() + 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])