Mercurial > hg
view tests/test-check-module-imports.t @ 34107:4f60720cf0df
blackbox: fix rotation with chg
The added test will show:
$ $PYTHON showsize.py .hg/blackbox*
.hg/blackbox.log: < 500
.hg/blackbox.log.1: < 500
.hg/blackbox.log.2: < 500
.hg/blackbox.log.3: < 500
.hg/blackbox.log.4: < 500
.hg/blackbox.log.5: >= 500
with previous code.
The issue is caused by blackbox caching file objects *by path*, and the
rotation size check could run on a wrong file object (i.e. it should check
"blackbox.log", but `filehandles["blackbox.log"]` contains a file object
that has been renamed to "blackbox.log.5").
This patch removes the "filehandlers" global cache added by 45313f5a3a8c to
solve the issue.
I think the original patch was trying to make different ui objects use a same
file object if their blackbox.log path is the same. In theory it could also
be problematic in the rotation case. Anyway, that should become unnecessary
after D650.
Differential Revision: https://phab.mercurial-scm.org/D648
author | Jun Wu <quark@fb.com> |
---|---|
date | Wed, 06 Sep 2017 19:27:30 -0700 |
parents | 9ce139c9222f |
children | 41401f502c83 |
line wrap: on
line source
#require test-repo $ . "$TESTDIR/helpers-testrepo.sh" $ import_checker="$TESTDIR"/../contrib/import-checker.py $ cd "$TESTDIR"/.. There are a handful of cases here that require renaming a module so it doesn't overlap with a stdlib module name. There are also some cycles here that we should still endeavor to fix, and some cycles will be hidden by deduplication algorithm in the cycle detector, so fixing these may expose other cycles. Known-bad files are excluded by -X as some of them would produce unstable outputs, which should be fixed later. $ testrepohg locate 'set:**.py or grep(r"^#!.*?python")' \ > 'tests/**.t' \ > -X hgweb.cgi \ > -X setup.py \ > -X contrib/debugshell.py \ > -X contrib/hgweb.fcgi \ > -X contrib/python-zstandard/ \ > -X contrib/win32/hgwebdir_wsgi.py \ > -X doc/gendoc.py \ > -X doc/hgmanpage.py \ > -X i18n/posplit \ > -X tests/hypothesishelpers.py \ > -X tests/test-commit-interactive.t \ > -X tests/test-contrib-check-code.t \ > -X tests/test-demandimport.py \ > -X tests/test-extension.t \ > -X tests/test-hghave.t \ > -X tests/test-hgweb-auth.py \ > -X tests/test-hgweb-no-path-info.t \ > -X tests/test-hgweb-no-request-uri.t \ > -X tests/test-hgweb-non-interactive.t \ > -X tests/test-hook.t \ > -X tests/test-import.t \ > -X tests/test-imports-checker.t \ > -X tests/test-lock.py \ > -X tests/test-verify-repo-operations.py \ > | sed 's-\\-/-g' | $PYTHON "$import_checker" -