mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 00:14:35 +03:00
1b1811c0d4
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.
31 lines
774 B
Python
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])
|