Commit Graph

772 Commits

Author SHA1 Message Date
Nick Mathewson
5fa62fffee checkSpace: permit wide lines for LCOV_EXCL
We're telling clang-format that a line with LCOV_EXCL must not be
split -- that's fine, but we shouldn't complain when it indents it.
2020-02-06 16:25:56 -05:00
Nick Mathewson
f39ba52029 checkSpace: be more careful about bad function headers.
Previously we would forbid macro indentations like this:

FOO({
  int x;
  })

But clang-format sometimes generates those.
2020-02-06 14:54:04 -05:00
Nick Mathewson
c8fae6b5c8 checkSpace: don't treat an unindented label as starting a function. 2020-02-06 14:33:05 -05:00
Nick Mathewson
8d6f27cea5 checkSpace.pl: Allow space between iteration macros and ().
Clang-format wants to put these in, and they do make sense for
consistency.

Also allow more types.
2020-02-06 14:33:05 -05:00
Nick Mathewson
bfa7607385 checkSpace.pl: Use a data structure for a list of non-function names 2020-02-06 14:33:05 -05:00
Nick Mathewson
1f1d943999 checkspace: allow spaces in cpp directives. 2020-02-06 14:33:05 -05:00
Nick Mathewson
15819cde61 checkSpace.pl: allow {{, ){, and ({. 2020-02-06 14:33:05 -05:00
Nick Mathewson
f1d371bf32 checkSpace: remove the nosplabel test. 2020-02-06 14:33:05 -05:00
Nick Mathewson
573ab70bfe Temporary clang-format configuration and script.
The format is the same as in my previous efforts here.

The script is a little tricky, since it invokes both clang-format
and codetool, and it makes sure that files do not have a changed
mtime unless there is actually some change in the file.
2020-02-06 14:33:05 -05:00
Nick Mathewson
5bd86b50b5 codetool: post-processor for clang-format
This code transformer makes a couple of changes that we want for our
source code, and can be expanded to handle more.
2020-02-06 14:04:19 -05:00
Nick Mathewson
b7bbff0c9c Merge remote-tracking branch 'public/practracker_regen_overbroad_2' 2020-02-06 08:27:12 -05:00
Nick Mathewson
5e963f97b1 practracker: use shutil.move so --regen will work on windows
On windows you can't os.rename() a file if the target filename
already exists.
2020-02-03 13:36:56 -05:00
Nick Mathewson
ec965ba98b practracker: integration tests for --regen and --regen-overbroad 2020-02-03 13:11:58 -05:00
Nick Mathewson
2542a24b63 practracker: add a --regen-overbroad option to remove overbroad exceptions.
Closes ticket 32372.
2020-02-03 13:02:12 -05:00
Christian Clauss
472d58372b
Remove unused import UserDict
Fixes: https://trac.torproject.org/projects/tor/ticket/32791#comment:3
Unblocks: #1686
2020-02-03 17:55:58 +02:00
cclauss
3208a74f90 Use print() function in both Python 2 and Python 3 2020-01-28 01:38:54 +01:00
Nick Mathewson
cda10a2e89 Git hooks: remove support for 0.2.9 directory layout.
We no longer will be pushing or committing things in branches that
use src/common or src/or.

Resolves ticket 32957.
2020-01-23 10:28:09 -05:00
teor
28c8c63de9 add_c_file: Replace asserts with exceptions
Closes 32962.
2020-01-20 13:27:40 +10:00
teor
2c75d4a8d0 add_c_file: Improve script documentation
Part of 32962.
2020-01-20 13:20:14 +10:00
teor
0418bc0cb2 add_c_file: Improve tor source directory checks
Check that the script isn't in a tor build directory, by looking
for a src/include.am file.

Part of 32962.
2020-01-20 13:04:02 +10:00
teor
eb336e23a6
add_c_file: Rename variables based on the type of path
* fname for generic file paths
* tor_fname for paths relative to the top-level tor directory
* src_fname for paths relative to tor's src directory

With prefixes as required to disambiguate different paths of the same
type.

Part of 32962.
2020-01-16 09:27:57 +10:00
teor
b828588499
add_c_file: Simplify some usage of srcdir_file()
Part of 32962.
2020-01-16 09:26:08 +10:00
teor
3d50efcf98
add_c_file: Document the paths used by each part of the script
Most paths are relative to the top-level tor directory, but the
paths in the C and H files are relative to tor's src directory.

Part of 32962.
2020-01-16 09:26:04 +10:00
teor
207d2625ed
add_c_file: Improve path handling and canonicalisation
* distinguish between paths relative to the top-level tor directory,
  and paths relative to tor's src directory
* canonicalise paths before using them
* check that the script is run from the top-level tor directory
* check that the file is being created in tor's src directory

Part of 32962.
2020-01-16 09:25:58 +10:00
Nick Mathewson
4f45ad1394
add_c_file: tolerate ./ in filenames. 2020-01-16 09:23:54 +10:00
Nick Mathewson
ef1744e2c9
add_c_file: handle adding to the end of a list correctly.
Fixes bug 32962.
2020-01-16 09:23:49 +10:00
Nick Mathewson
5e70c27e85 Merge remote-tracking branch 'tor-github/pr/1657' 2020-01-15 13:10:14 -05:00
teor
b7cfca1dee
Merge branch 'pr1599_squashed' 2020-01-15 22:31:01 +10:00
teor
b910ae8cd1
practracker: Wrap long lines in the test script 2020-01-15 22:29:52 +10:00
teor
fa038e5617
practracker: Test practracker exit status
Part of 32705.
2020-01-15 22:29:48 +10:00
teor
eb55d85e75
practracker: Fail tests if any process exits unexpectedly
Part of 32705.
2020-01-15 22:29:44 +10:00
teor
cda2ff1965
practracker: Capture stderr output in test_practracker.sh
And canonicalise file paths, so that output is consistent, even in
out-of-tree builds.

Capturing stderr output produces better diagnostics.

Diagnostics for 32705.
2020-01-15 22:29:22 +10:00
teor
c80694decc
scripts/git: Improve branch list comments
Hopefully, these explanations make it easier to get the next branch
transition right.

Part of 32772.
2020-01-15 12:28:00 +10:00
teor
536eeb4589
scripts/git: Fix git-merge-forward after removing 0.2.9
We need a test branch for the earliest maint branch (maint-0.3.5),
but we can't merge forward into it, because there is no previous
active maint branch.

Also, edit a git-push-all comment that still said "029".

Bugfix on 32772; bug not in any released version of tor.
2020-01-15 12:22:38 +10:00
David Goulet
b958529dbf Merge branch 'tor-github/pr/1633' 2020-01-14 14:03:21 -05:00
teor
8095c785f1
Merge branch 'maint-0.4.2' 2020-01-14 17:41:44 +10:00
teor
7e111d0eaa
practracker: print a notice to stderr when disabled
When TOR_DISABLE_PRACTRACKER is set, print a message to
stderr when skipping practracker checks.

Part of 32705.
2020-01-14 17:41:00 +10:00
Nick Mathewson
6b1592b564 test_practracker.sh: never disable practracker
When practracker is disabled, its output will be empty.  We don't
want that happening during our tests.

Fixes bug 32705; bugfix on 0.4.2.1-alpha, when test_practracker.sh
was introduced.
2020-01-13 16:17:51 -05:00
Nick Mathewson
73ac1add3f Split core/include.am into per-subdirectory include.am files
Closes ticket 32137.
2020-01-13 09:34:17 -05:00
rl1987
c0dd214c8a Remove 0.2.9 from git scripts 2019-12-30 12:41:08 +07:00
teor
ac3a9aaf0d
Makefile/git scripts: Add comments to keep owned file lists in sync 2019-12-20 09:35:18 +10:00
teor
5c98a42f49
Merge remote-tracking branch 'tor-github/pr/1584' 2019-12-19 19:33:29 +10:00
teor
1619f14a04
python: Add __future__ imports for python 3 compatibility
Except for src/ext, which we may not want to modify.

Closes ticket 32732.
2019-12-12 15:58:51 +10:00
Nick Mathewson
e93801bfe6 Port changelog tools to python 3
Closes ticket 32704.
2019-12-09 10:53:48 -05:00
teor
9a556dee81
cocci: Require spatch >= 1.0.4 to run checks
No changes file required: not in any released version of tor.

Fixes bug 32663.
2019-12-05 10:27:47 +10:00
Nick Mathewson
fcb5656128 Merge branch 'ticket32609_squashed' 2019-12-04 12:15:28 -05:00
teor
b0f1b760ae practracker: document !advisory in includes.py 2019-12-04 12:15:22 -05:00
teor
8861ad85d0 git scripts: Add the checkSpace.pl unit tests
Extra testing after 32613.
2019-12-04 12:15:22 -05:00
teor
19324ff0ba practracker: Test for bad ".c" includes in the unit tests
Part of 32522.
2019-12-04 12:15:22 -05:00
teor
5ce45ac907 Makefile/git scripts: Add the practracker unit tests
Add a check-practracker-unit-test target, and run it as part of
"make check".

Add the practracker unit tests to scripts/git/pre-commit.git-hook.

Part of 32609.
2019-12-04 12:15:22 -05:00