Fix a bug in FilenameUniqDict that led to test failures.

This commit is contained in:
Georg Brandl 2009-02-19 22:36:00 +01:00
parent 8bf6fa5a74
commit bd5eb9f417
3 changed files with 15 additions and 12 deletions

View File

@ -307,7 +307,7 @@ class FilenameUniqDict(dict):
def add_file(self, docname, newfile):
if newfile in self:
self[newfile][0].add(docname)
return
return self[newfile][1]
uniquename = path.basename(newfile)
base, ext = path.splitext(uniquename)
i = 0
@ -321,8 +321,9 @@ class FilenameUniqDict(dict):
def purge_doc(self, docname):
for filename, (docs, _) in self.items():
docs.discard(docname)
if not docs:
del self[filename]
#if not docs:
# del self[filename]
# self._existing.discard(filename)
def __getstate__(self):
return self._existing

View File

@ -30,6 +30,10 @@ from sphinx.builders.latex import LaTeXBuilder
from sphinx.writers.latex import LaTeXTranslator
def teardown_module():
(test_root / '_build').rmtree()
html_warnfile = StringIO()
latex_warnfile = StringIO()

View File

@ -159,10 +159,9 @@ def with_app(*args, **kwargs):
@wraps(func)
def deco(*args2, **kwargs2):
app = TestApp(*args, **kwargs)
try:
return func(app, *args2, **kwargs2)
finally:
app.cleanup()
func(app, *args2, **kwargs2)
# don't execute cleanup if test failed
app.cleanup()
return deco
return generator
@ -176,11 +175,10 @@ def gen_with_app(*args, **kwargs):
@wraps(func)
def deco(*args2, **kwargs2):
app = TestApp(*args, **kwargs)
try:
for item in func(app, *args2, **kwargs2):
yield item
finally:
app.cleanup()
for item in func(app, *args2, **kwargs2):
yield item
# don't execute cleanup if test failed
app.cleanup()
return deco
return generator