Mercurial > hg
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 |
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 |