Mercurial > hg
view tests/test-check-pyflakes.t @ 50242:379a78001d8e stable
dirstate: set identity whenever we read the dirstate's v2 docket
The docket can be loaded outside of a full read (for exemple when
pre-fetching parents), so the current code would read/set the identity
after loading the data, opening a race condition:
A0: first process docket is read
B0: other process appends new data to the dirstate (and changes the docket)
A1: first process sets the identity (based on pre-B content, but with post-B identity)
A1: first process loads the dirstatemap from the data file
A1: first process does not detect the race and overwrites the update from B.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Wed, 01 Mar 2023 02:38:20 +0100 |
parents | 44b26349127b |
children |
line wrap: on
line source
#require test-repo pyflakes hg10 $ . "$TESTDIR/helpers-testrepo.sh" run pyflakes on all tracked files ending in .py or without a file ending (skipping binary file random-seed) $ cat > test.py <<EOF > print(undefinedname) > EOF $ "$PYTHON" -m pyflakes test.py 2>/dev/null | "$TESTDIR/filterpyflakes.py" test.py:1:* undefined name 'undefinedname' (glob) $ cd "`dirname "$TESTDIR"`" $ testrepohg locate 'set:**.py or grep("^#!.*python")' \ > -X hgext/fsmonitor/pywatchman \ > -X contrib/python-zstandard \ > -X mercurial/thirdparty \ > 2>/dev/null \ > | xargs "$PYTHON" -m pyflakes 2>/dev/null | "$TESTDIR/filterpyflakes.py" contrib/perf.py:*:* undefined name 'xrange' (glob) (?) mercurial/pycompat.py:*:* 'codecs' imported but unused (glob) mercurial/pycompat.py:*:* 'concurrent.futures' imported but unused (glob) mercurial/pycompat.py:*:* 'http.client as httplib' imported but unused (glob) mercurial/pycompat.py:*:* 'http.cookiejar as cookielib' imported but unused (glob) mercurial/pycompat.py:*:* 'io' imported but unused (glob) mercurial/pycompat.py:*:* 'queue' imported but unused (glob) mercurial/pycompat.py:*:* 'socketserver' imported but unused (glob) mercurial/pycompat.py:*:* 'xmlrpc.client as xmlrpclib' imported but unused (glob) mercurial/util.py:*:* 'pickle' imported but unused (glob)