dash/ci/test
W. J. van der Laan dce79f5c8e
Merge bitcoin/bitcoin#21740: test: add new python linter to check file names and permissions
46b025e00df40724175735eb5606ac73067cb3b8 test: add new python linter to check file names and permissions (windsok)
6f6bb3ebc7cb8e17a5dfc8ef55aa2d3f2dc6bdea test: fix file permissions on various scripts (windsok)

Pull request description:

  Adds a new python linter test which tests for correct filenames and file permissions in the repository.

  Replaces the existing tests in the `test/lint/lint-filenames.sh` and `test/lint/lint-shebang.sh` linter tests, as well as adding some new and increased testing. This increased coverage is intended to catch issues such as in #21728 and https://github.com/bitcoin/bitcoin/pull/16807/files#r345547050

  Summary of tests:
  * Checks every file in the repository against an allowed regexp to make sure only lowercase or uppercase alphanumerics (a-zA-Z0-9), underscores (_), hyphens (-), at (@) and dots (.) are used in repository filenames.

  * Checks only source files (*.cpp, *.h, *.py, *.sh) against a stricter allowed regexp to make sure only lowercase alphanumerics (a-z0-9), underscores (_), hyphens (-) and dots (.) are used in source code filenames. Additionally there is an exception regexp for directories or files which are excepted from matching this regexp (This should replicate the existing `test/lint/lint-filenames.sh` test)

  * Checks all files in the repository match an allowed executable or non-executable file permission octal. Additionally checks that for executable files, the file contains a shebang line.

  * Checks that for executable `.py` and `.sh` files, the shebang line used matches an allowable list of shebangs (This should replicate the existing `test/lint/lint-shebang.sh` test)

  * Checks every file that contains a shebang line to ensure it has an executable permission

  Additionally updates the permissions on various files to comply with the new tests.

  Fixes #21729

ACKs for top commit:
  practicalswift:
    cr re-ACK 46b025e00df40724175735eb5606ac73067cb3b8: patch still looks correct
  kiminuo:
    code review ACK 46b025e00df40724175735eb5606ac73067cb3b8 if `contrib/gitian-descriptors/assign_DISTNAME` permission change is deemed OK.
  laanwj:
    Code review ACK 46b025e00df40724175735eb5606ac73067cb3b8

Tree-SHA512: 1c8201a2cee0d9cbce15652b68cec9a6458a8b493fcd5392f98560aca0b1a12e668baab65a47100f116f626dadc3f591deb47f7368468c6a46c6c712c2533455
2024-05-16 02:09:37 +07:00
..
00_setup_env_arm.sh Merge #20182: ci: Build with --enable-werror by default, and document exceptions 2024-04-03 16:03:26 +07:00
00_setup_env_mac_host.sh Merge #20182: ci: Build with --enable-werror by default, and document exceptions 2024-04-03 16:03:26 +07:00
00_setup_env_mac.sh Merge #21354: build, doc: Drop no longer required packages from macOS cross-compiling dependencies 2024-04-11 02:25:07 +07:00
00_setup_env_native_asan.sh Merge bitcoin/bitcoin#21740: test: add new python linter to check file names and permissions 2024-05-16 02:09:37 +07:00
00_setup_env_native_cxx20.sh chore: drop debug printing of private keys to console stdout 2024-04-10 01:59:00 +07:00
00_setup_env_native_fuzz_with_valgrind.sh Merge bitcoin/bitcoin#21740: test: add new python linter to check file names and permissions 2024-05-16 02:09:37 +07:00
00_setup_env_native_fuzz.sh chore: drop debug printing of private keys to console stdout 2024-04-10 01:59:00 +07:00
00_setup_env_native_multiprocess.sh Merge bitcoin/bitcoin#21740: test: add new python linter to check file names and permissions 2024-05-16 02:09:37 +07:00
00_setup_env_native_nowallet.sh Merge #15382: util: add RunCommandParseJSON 2024-02-01 09:22:03 -06:00
00_setup_env_native_qt5.sh feat: drop symbol check from CI to unify with bitcoin, keep it for qt5 only 2024-04-03 16:06:22 +07:00
00_setup_env_native_sqlite.sh feat: drop symbol check from CI to unify with bitcoin, keep it for qt5 only 2024-04-03 16:06:22 +07:00
00_setup_env_native_tsan.sh chore: drop debug printing of private keys to console stdout 2024-04-10 01:59:00 +07:00
00_setup_env_native_ubsan.sh feat: drop symbol check from CI to unify with bitcoin, keep it for qt5 only 2024-04-03 16:06:22 +07:00
00_setup_env_native_valgrind.sh Merge bitcoin/bitcoin#21740: test: add new python linter to check file names and permissions 2024-05-16 02:09:37 +07:00
00_setup_env_s390x.sh Merge bitcoin/bitcoin#21740: test: add new python linter to check file names and permissions 2024-05-16 02:09:37 +07:00
00_setup_env_win64.sh Merge #21126: ci: Properly bump to focal for win cross build 2024-04-11 02:25:06 +07:00
00_setup_env.sh feat: drop symbol check from CI to unify with bitcoin, keep it for qt5 only 2024-04-03 16:06:22 +07:00
04_install.sh Merge #19179: ci: Run ci configs on cirrus 2024-03-26 21:04:27 +07:00
05_before_script.sh Merge #20691: ci, doc: Travis CI features and mentions cleanup 2024-03-27 00:48:26 +07:00
wrap-valgrind.sh Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
wrap-wine.sh Merge #21138: ci: Re-run wine tests once if they fail 2024-04-11 02:25:06 +07:00