##// END OF EJS Templates
rbc: fix superfluous rebuilding from scratch - don't abuse self._rbcnamescount...
rbc: fix superfluous rebuilding from scratch - don't abuse self._rbcnamescount The code used self._rbcnamescount as if it was the length of self._names ... but actually it is just the number of good entries on disk. This caused the cache to be populated inefficiently. In some cases very inefficiently. Instead of checking the length before lookup, just try a lookup in self._names - that is also in most cases faster. Comments and debug messages are tweaked to help understanding the issue and the fix.

File last commit:

r28804:ce49c8d4 default
r29615:a2a380e2 stable
Show More
test-duplicateoptions.py
41 lines | 1.0 KiB | text/x-python | PythonLexer
/ tests / test-duplicateoptions.py
Robert Stanca
py3: use print_function in test-duplicateoptions.py
r28740 from __future__ import absolute_import, print_function
Idan Kamara
tests: add a test to check for duplicate command options
r14449 import os
Robert Stanca
py3: use absolute_import in test-duplicateoptions.py
r28739 from mercurial import (
commands,
extensions,
Yuya Nishihara
test-duplicateoptions: alias ui as uimod
r28804 ui as uimod,
Robert Stanca
py3: use absolute_import in test-duplicateoptions.py
r28739 )
Idan Kamara
tests: add a test to check for duplicate command options
r14449
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()
Yuya Nishihara
test-duplicateoptions: alias ui as uimod
r28804 u = uimod.ui()
Idan Kamara
tests: add a test to check for duplicate command options
r14449 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):
Robert Stanca
py3: use print_function in test-duplicateoptions.py
r28740 print("command '" + cmd + "' has duplicate option " + str(option))
Idan Kamara
tests: add a test to check for duplicate command options
r14449 seenshort.add(option[0])
seenlong.add(option[1])