annotate tests/test-check-pyflakes.t @ 44717:3dc6a70779f2

phabricator: add an option to fold several commits into one review (issue6244) Now that all of the pieces are in place, alter the user facing command to allow it. This is the default behavior when using `arc`, but I much prefer the 1:1 approach, and I'm tempted to mark this advanced to limit its abuse. I started out calling this `--no-stack` like the feature request suggested, but I found it less obvious (especially when writing the code), so I went with the `hg fold` analogue. This will populate the `Commits` tab in the web UI with the hash of each commit folded into the review. From experimentation, it seems to list them in the order they are received from the extension instead of the actual parent/child relationship. The extension sends them in sorted order, thanks to `templatefilters.json()`. Since there's enough info there for them to put things in the right order, JSON is unordered aside from lists (IIUC), and there doesn't seem to be any harmful side effects, I guess we write this off as their bug. It is simple enough to workaround by putting a check for `util.sortdict` into `templatefilters.json()`, and don't resort in that case. There are a handful of restrictions that are documented in the code, which somebody could probably fix if they're interested. Notably, this requires the (default) `--amend` option, because there's not an easy way to apply a local tag across several commits. This also doesn't do preflight checking to ensure that all previous commits that were part of a single review are selected when updating. That seems expensive. What happens is the excluded commit is dropped from the review, but it keeps the Differential Revision line in the commit message. Not everything can be edited, so it doesn't seem worth making the code even more complicated to handle this edge case. There are a couple of "obsolete feature not enabled but X markers found!" messages that appeared on Windows but not macOS. I have no idea what's going on here, but that's an unrelated issue, so I conditionalized those lines. Differential Revision: https://phab.mercurial-scm.org/D8314
author Matt Harbison <matt_harbison@yahoo.com>
date Wed, 08 Apr 2020 17:30:10 -0400
parents e397c6d74652
children f4361aed565d 1ca0d5cae9bc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
29138
a29f071751df tests: mark test-check-pyflakes.t as requiring hg1.0+
timeless <timeless@mozdev.org>
parents: 27285
diff changeset
1 #require test-repo pyflakes hg10
21208
0e1cbd3d52f7 tests: add repository check for pyflakes test
Matt Mackall <mpm@selenic.com>
parents: 20644
diff changeset
2
29219
3c9066ed557c tests: silence test-repo obsolete warning
timeless <timeless@mozdev.org>
parents: 29138
diff changeset
3 $ . "$TESTDIR/helpers-testrepo.sh"
19377
0cb996ee8c6d tests: run pyflakes on files from manifest which could be python files
Simon Heimberg <simohe@besonet.ch>
parents: 16350
diff changeset
4
0cb996ee8c6d tests: run pyflakes on files from manifest which could be python files
Simon Heimberg <simohe@besonet.ch>
parents: 16350
diff changeset
5 run pyflakes on all tracked files ending in .py or without a file ending
0cb996ee8c6d tests: run pyflakes on files from manifest which could be python files
Simon Heimberg <simohe@besonet.ch>
parents: 16350
diff changeset
6 (skipping binary file random-seed)
21208
0e1cbd3d52f7 tests: add repository check for pyflakes test
Matt Mackall <mpm@selenic.com>
parents: 20644
diff changeset
7
33367
6029939f7e98 filterpyflakes: move self-test into test file
Augie Fackler <raf@durin42.com>
parents: 33204
diff changeset
8 $ cat > test.py <<EOF
6029939f7e98 filterpyflakes: move self-test into test file
Augie Fackler <raf@durin42.com>
parents: 33204
diff changeset
9 > print(undefinedname)
6029939f7e98 filterpyflakes: move self-test into test file
Augie Fackler <raf@durin42.com>
parents: 33204
diff changeset
10 > EOF
6029939f7e98 filterpyflakes: move self-test into test file
Augie Fackler <raf@durin42.com>
parents: 33204
diff changeset
11 $ pyflakes test.py 2>/dev/null | "$TESTDIR/filterpyflakes.py"
6029939f7e98 filterpyflakes: move self-test into test file
Augie Fackler <raf@durin42.com>
parents: 33204
diff changeset
12 test.py:1: undefined name 'undefinedname'
6029939f7e98 filterpyflakes: move self-test into test file
Augie Fackler <raf@durin42.com>
parents: 33204
diff changeset
13
33418
1f3b54f392b0 test-check-pyflakes: do not leave test.py in the repo
Jun Wu <quark@fb.com>
parents: 33367
diff changeset
14 $ cd "`dirname "$TESTDIR"`"
33367
6029939f7e98 filterpyflakes: move self-test into test file
Augie Fackler <raf@durin42.com>
parents: 33204
diff changeset
15
33204
ddd65b4f3ae6 tests: alias syshg and syshgenv so they can be switched conditionally
Yuya Nishihara <yuya@tcha.org>
parents: 33116
diff changeset
16 $ testrepohg locate 'set:**.py or grep("^#!.*python")' \
33116
6c113a7dec52 tests: use the system hg for examining the local repository
Adam Simpkins <simpkins@fb.com>
parents: 32510
diff changeset
17 > -X hgext/fsmonitor/pywatchman \
30894
5b60464efbde tests: exclude python-zstandard from pyflakes analysis
Augie Fackler <augie@google.com>
parents: 30655
diff changeset
18 > -X mercurial/pycompat.py -X contrib/python-zstandard \
37127
0e06d8086295 cbor: fix core test-check*
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33418
diff changeset
19 > -X mercurial/thirdparty/cbor \
37625
3ccaf995f549 tests: silence pyflakes for thirdparty/concurrent
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37182
diff changeset
20 > -X mercurial/thirdparty/concurrent \
37182
559069689121 tests: ignore zope packages when running pyflakes
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37127
diff changeset
21 > -X mercurial/thirdparty/zope \
29584
06587edd1233 pycompat: make pycompat demandimport friendly
Pulkit Goyal <7895pulkit@gmail.com>
parents: 29232
diff changeset
22 > 2>/dev/null \
44461
e397c6d74652 tests: use pyflakes module instead of pyflakes executable
Manuel Jacob <me@manueljacob.de>
parents: 43496
diff changeset
23 > | xargs $PYTHON -m pyflakes 2>/dev/null | "$TESTDIR/filterpyflakes.py"
43068
094d0f4a8edd tests: allow xrange warning from perf.py
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37625
diff changeset
24 contrib/perf.py:*: undefined name 'xrange' (glob) (?)
43069
e554cfd93975 hgweb: use importlib.reload() if available
Gregory Szorc <gregory.szorc@gmail.com>
parents: 43068
diff changeset
25 mercurial/hgweb/server.py:*: undefined name 'reload' (glob) (?)
43109
f244da1fc4c6 tests: allow warning about file
Gregory Szorc <gregory.szorc@gmail.com>
parents: 43069
diff changeset
26 mercurial/util.py:*: undefined name 'file' (glob) (?)
43496
2ade00f3b03b encoding: add comment-based type hints for pytype
Augie Fackler <augie@google.com>
parents: 43109
diff changeset
27 mercurial/encoding.py:*: undefined name 'localstr' (glob) (?)
22053
4354b1e35f53 tests: fix pyflakes test whitespace breakage
Matt Mackall <mpm@selenic.com>
parents: 22047
diff changeset
28