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