Commit Graph

14514 Commits

Author SHA1 Message Date
Sean Bowe 34c2a4b380
Postpone clang and libc++ dependency updates until after the 4.1.0 release. 2020-11-02 13:36:34 -07:00
Homu 2a78e35171 Auto merge of #4837 - daira:fix-gitian, r=daira
Fixes for Gitian builds

Remove manual CFLAGS and CXXFLAGS from descriptor.
2020-10-29 12:24:27 +00:00
Daira Hopwood 6cbaa65b55 Gitian builds: Remove manual CFLAGS and CXXFLAGS from descriptor.
Before Zcash launched, we were heavily relying on `zcutil/build.sh` to
apply our Zcash-specific hardening flags. The Gitian deterministic build
system obviously didn't use our script, so the corresponding flags were
manually added to `gitian-linux.yml`.

Since then, we have migrated all of our flags into `configure.ac`.
Manually setting them in the Gitian descriptor is no longer necessary,
and should have been removed at the same time. This didn't cause any
noticeable issues, however, leaving it undetected until we migrated to
Clang in zcash/zcash#4613, and performed a Gitian build for 4.1.0-rc1.

The Gitian failure was caused by linker flags specific to C++ being used
in configuration tests for secp256k1 (a C library). This causes ldd to
emit warnings, which are then converted to errors by the -Werror flags
that were added to CFLAGS and CXXFLAGS by `gitian-linux.yml`. CI did not
encounter this because it uses the standard `--enable-werror` config flag,
which adds `-Werror` to CXXFLAGS but not CFLAGS.

Co-authored-by: Jack Grigg <jack@z.cash>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-10-29 11:15:59 +00:00
John Newbery e289f812d2 Improve logging in bctest.py if there is a formatting mismatch 2020-10-28 16:20:53 +00:00
John Newbery abd7840c22 Clean up bctest.py and bitcoin-util-test.py
- remove newlines
- change tabs for spaces, to align with convention in other py files
- add comments
- add 'Bitcoin Core Developers' copyright notice
2020-10-28 16:20:53 +00:00
jnewbery 5508f14437 Add logging to bitcoin-util-test.py
- Use the python standard logging library
- Run all tests and report all failing test-cases (rather than stop after one test case fails)
- If output is different from expected output, log a contextual diff.
2020-10-28 16:20:53 +00:00
Wladimir J. van der Laan 3e2460b6f8 test: Add format-dependent comparison to bctest
This splits the output comparison for `bitcoin-tx` into two steps:

- First, check for data mismatch, parsing the data as json or hex
  depending on the extension of the output file

- Then, check if the literal string matches

For either of these cases give a different error.

This prevents wild goose chases when e.g. a trailing space doesn't match
exactly, and makes sure that both test output and examples are valid
data of the purported format.
2020-10-28 16:20:53 +00:00
jnewbery 2079d495f6 add verbose mode to bitcoin-util-test.py 2020-10-28 16:07:25 +00:00
jnewbery e9c1703ba6 bitcoin-util-test.py should fail if the output file is empty 2020-10-28 16:07:25 +00:00
jnewbery cbce715c00 Add option to run bitcoin-util-test.py manually 2020-10-28 16:07:25 +00:00
jnewbery 25193f0fa0 Add bitcoin-tx JSON tests
Zcash: Modified for us, and excluding test cases we don't have.
2020-10-28 16:02:36 +00:00
Jack Grigg 7c42009ddd lints: Match `export LC_ALL="C"` in lint-shell-locale
checksec.sh uses this format.
2020-10-28 13:19:27 +00:00
practicalswift 69d3d38445 Follow-up to #13454: Fix broken build by exporting LC_ALL=C 2020-10-28 13:14:39 +00:00
Jack Grigg 32fe88362b lints: Update expected Boost imports 2020-10-27 23:14:08 +00:00
Jack Grigg f318ab3776 lints: Use Zcash-specific include guards for new files 2020-10-27 23:05:19 +00:00
Kristaps Kaupe d89f31dc43 Make lint-includes.sh work from any directory 2020-10-27 23:05:19 +00:00
Julian Fleischer bdaccd0f06 Run all lint scripts
The description reads:

```
# This script runs all contrib/devtools/lint-*.sh files, and fails if any exit
# with a non-zero status code.
```

This runs all scripts and returns with a non-zero exit code if any failed.
2020-10-27 23:05:19 +00:00
practicalswift 1be9fa9aeb Remove no longer needed shellcheck suppressions 2020-10-27 23:05:19 +00:00
practicalswift 68393a4b73 Fix warnings introduced in shellcheck v0.6.0
Zcash: Only for shell scripts we have backported.
2020-10-27 23:05:19 +00:00
practicalswift 8ed37f5f40 Remove repeated suppression. Fix indentation. 2020-10-27 23:05:19 +00:00
Vidar Holen 37604a1990 refactor/lint: Add ignored suggestions to an array
This avoids duplicating the codes between command and comments.
2020-10-27 23:05:19 +00:00
João Barbosa 653f6dc7e7 qa: Ignore shellcheck warning SC2236
With shellcheck 0.6.0 the warning `SC2236 -  Use -n instead of ! -z` is raised.
This change adds that warning to the ignored list.
2020-10-27 23:05:19 +00:00
vim88 27f924108c Scripts and tools & Docs: Used #!/usr/bin/env bash instead of obsolete #!/bin/bash, added linting for .sh files shebang and updated the Developer Notes. 2020-10-27 23:05:19 +00:00
practicalswift 5b11b94d27 macOS fix: Add excludes for checks added in the newer shellcheck version installed by brew 2020-10-27 23:05:19 +00:00
practicalswift 73a6c29bcd macOS fix: Work around empty (sub)expression error when using BSD grep 2020-10-27 23:05:19 +00:00
Julian Fleischer 52f45ad9a4 use export LC_ALL=C.UTF-8 2020-10-27 23:05:19 +00:00
Julian Fleischer b90433afd3 fix locale for lint-shell 2020-10-27 23:05:19 +00:00
DesWurstes be186b8112 Obsolete #!/bin/bash shebang 2020-10-27 23:05:18 +00:00
practicalswift f98ced2aba Add linter: Make sure we explicitly open all text files using UTF-8 or ASCII encoding in Python 2020-10-27 23:05:02 +00:00
practicalswift 0eef155a4a Explicitly specify encoding when opening text files in Python code 2020-10-27 23:05:02 +00:00
practicalswift 1b32acdd52 Add linter: Make sure all shell scripts opt out of locale dependence using "export LC_ALL=C" 2020-10-27 23:05:02 +00:00
practicalswift 745ac0ae6d Add "export LC_ALL=C" to all shell scripts
Zcash: Only for lint-* scripts we have backported from upstream.
2020-10-27 23:05:02 +00:00
practicalswift aade01b184 docs: Mention lint-locale-dependence.sh in developer-notes.md 2020-10-27 23:05:02 +00:00
practicalswift 40316e9359 build: Add linter for checking accidental locale dependence 2020-10-27 23:05:02 +00:00
practicalswift 9174ccaf0d build: Guard against accidental introduction of new Boost dependencies 2020-10-27 23:05:02 +00:00
MarcoFalke c2848070b4 test: Move linters to test/lint, add readme
Zcash: Only the lint-* scripts we have backported.
2020-10-27 23:05:02 +00:00
John Newbery 2788e33710 [contrib] convert test-security-check to python3 2020-10-27 23:05:02 +00:00
practicalswift 5d0affeafb add lint tool to check python3 shebang 2020-10-27 23:05:02 +00:00
practicalswift eab2490ea4 Add shell script linting: Check for shellcheck warnings in shell scripts 2020-10-27 23:05:02 +00:00
MarcoFalke 5747638ecf Refine travis check for duplicate includes
This partially reverts commit c36b720d009f1ab1c3900750e05c1f17412e564d.
2020-10-27 23:05:02 +00:00
practicalswift a3afa2a17e Add Travis check for duplicate includes
This enforces parts of the project header include guidelines (added by @sipa in #10575).
2020-10-27 23:05:02 +00:00
practicalswift 87bc7fc83e Add lint-include-guards.sh which checks include guard consistency 2020-10-27 23:05:02 +00:00
practicalswift 4ddfb216ee Fix missing or inconsistent include guards 2020-10-27 23:05:02 +00:00
practicalswift 653846b0a4 Document include guard convention 2020-10-27 23:05:02 +00:00
Akio Nakamura b2d56059fa [script] lint-whitespace: improve print linenumber
Before this PR, the linenumber infomaition is output if trailing-space
or tab code was found, but the output occurence is only per a file.
This PR separates the output timing of file name and line number.
As a result, users will find where they need to fix more easily.
2020-10-27 23:05:02 +00:00
MarcoFalke 87f4e1c488 devtools: Exclude patches from lint-whitespace 2020-10-27 23:05:02 +00:00
Sjors Provoost c1683a142b [scripts] lint-whitespace: check last N commits or unstaged changes
Get usage instructions:
.lint-whitespace.sh -?
2020-10-27 23:05:02 +00:00
Sjors Provoost 034fe80a79 [scripts] lint-whitespace: use perl instead of grep -P
MacOS does not support 'grep -P' out of the box. This change makes
it easier for developers to check for whitespace problems locally.
2020-10-27 23:05:02 +00:00
Wladimir J. van der Laan b77da1fd0c contrib: Ignore historical release notes for whitespace check
Lint checks should not test these, they are historical documents,
and we don't want to encourage silly changes to them to satisfy
a checker.

Hopefully makes travis pass again on master.

Tree-SHA512: 37e6716c4fd5e8a4e579f9b84042e6b0ac224836b6c851cd1ca3f7d46611ffd3003bed0ae08dd0457f69d6eaa485a0d21c631e7ef16b14bdb0f2f78ea700332d
2020-10-27 23:05:02 +00:00
MeshCollider 378d6d04aa Add tab char lint check and exclude imported dependencies 2020-10-27 23:05:02 +00:00