Commit Graph

549 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
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
cclauss
3208a74f90 Use print() function in both Python 2 and Python 3 2020-01-28 01:38:54 +01: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
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
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
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
19324ff0ba practracker: Test for bad ".c" includes in the unit tests
Part of 32522.
2019-12-04 12:15:22 -05:00
Nick Mathewson
8a10a74870
Have checkSpaceTest.sh exit as skipped when on Windows
Managing line-ending issues for this one isn't worth it.
2019-12-03 12:56:50 +10:00
Nick Mathewson
bd61a4e848
Add a simple test for checkSpace.pl
This script is not expected to work on windows due to line-ending
issues, so I'm not making it get run on an automated basis.  We
should use it when editing checkSpace.pl.

Closes ticket 32613.
2019-12-03 12:56:46 +10:00
Nick Mathewson
2aaa7ae6e2 checkSpace.pl: make output more uniform.
There were lots of slight differences in indentation and formatting
among the in-file error messages.
2019-11-26 12:58:25 -05:00
teor
fadd292bf0
practracker/includes.py: Don't read editor temp files
(Or any files that start with "." or "#".)

Obviously correct changes to already-reviewed code.
2019-11-26 17:52:18 +10:00
teor
0ce11433c0
check-spaces: Fix an outdated comment 2019-11-26 11:02:28 +10:00
teor
ab70c315bd
practracker: Fix a typo in a logging function call
Obviously correct changes to already-reviewed code.
2019-11-26 11:01:34 +10:00
Nick Mathewson
31f8b4fa65 Merge branch 'stream-socks-auth' into bug19859_merged 2019-11-25 07:58:02 -05:00
Nick Mathewson
d9d75d4ae1 rename_c_identifier: don't crash when doing only one replacement. 2019-11-23 15:30:18 -05:00
Nick Mathewson
5060007f4b Split log configuration out of options_act_reversible(). 2019-11-19 16:03:32 -05:00
George Kadianakis
53ac9a9a91 Add changes file for #30381. 2019-11-18 19:21:10 +02:00
teor
3b4a360ed0
practracker: Don't read editor temp files, attempt 2
(Or any files that start with "." or "#".)

Obviously correct changes to already-reviewed code.
2019-11-14 16:12:19 +10:00
teor
f7b45975bf
Merge branch 'bug32402_042' into bug32402_master
Merge changes from master with shellcheck fixes.
2019-11-06 16:14:06 +10:00