sapling/tests/test-duplicateoptions.py
Mads Kiilerich 1b1811c0d4 tests: ignore inotify extension in test-duplicateoptions.py
The inotify extension is only available on linux and setup.py will not install
it on other platforms - but it will of course always be there in the source.

test-duplicateoptions.py tried to load most extensions (including inotify if
available). When the local uninstalled Mercurial was used it would thus always
load the inotify extension and cause a warning on unsupported platforms.

The inotify extension is not relevant for this test, so now we explicitly
ignore it.
2011-06-29 00:19:27 +02:00

31 lines
774 B
Python

import os
from mercurial import ui, commands, extensions
ignore = set(['highlight', 'inotify', '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])