bitcoin/ci/test
W. J. van der Laan 1b9a5236e9
Merge bitcoin/bitcoin#21740: test: add new python linter to check file names and permissions
46b025e00d test: add new python linter to check file names and permissions (windsok)
6f6bb3ebc7 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 46b025e00d: patch still looks correct
  kiminuo:
    code review ACK 46b025e00d if `contrib/gitian-descriptors/assign_DISTNAME` permission change is deemed OK.
  laanwj:
    Code review ACK 46b025e00d

Tree-SHA512: 1c8201a2cee0d9cbce15652b68cec9a6458a8b493fcd5392f98560aca0b1a12e668baab65a47100f116f626dadc3f591deb47f7368468c6a46c6c712c2533455
2021-05-05 17:14:22 +02:00
..
00_setup_env.sh ci: Set BASE_SCRATCH_DIR early, so that it can be used in test configs 2021-05-04 15:03:14 +02:00
00_setup_env_android.sh test: fix file permissions on various scripts 2021-04-23 17:13:28 -07:00
00_setup_env_arm.sh test: fix file permissions on various scripts 2021-04-23 17:13:28 -07:00
00_setup_env_i686_centos.sh test: fix file permissions on various scripts 2021-04-23 17:13:28 -07:00
00_setup_env_mac.sh Merge bitcoin/bitcoin#21740: test: add new python linter to check file names and permissions 2021-05-05 17:14:22 +02:00
00_setup_env_mac_host.sh Merge bitcoin/bitcoin#21740: test: add new python linter to check file names and permissions 2021-05-05 17:14:22 +02:00
00_setup_env_native_asan.sh Merge bitcoin/bitcoin#21740: test: add new python linter to check file names and permissions 2021-05-05 17:14:22 +02:00
00_setup_env_native_fuzz.sh test: fix file permissions on various scripts 2021-04-23 17:13:28 -07:00
00_setup_env_native_fuzz_with_msan.sh ci: Add msan fuzz config 2021-05-04 15:06:00 +02:00
00_setup_env_native_fuzz_with_valgrind.sh test: fix file permissions on various scripts 2021-04-23 17:13:28 -07:00
00_setup_env_native_msan.sh Merge bitcoin/bitcoin#21740: test: add new python linter to check file names and permissions 2021-05-05 17:14:22 +02:00
00_setup_env_native_multiprocess.sh Merge bitcoin/bitcoin#21740: test: add new python linter to check file names and permissions 2021-05-05 17:14:22 +02:00
00_setup_env_native_nowallet.sh test: fix file permissions on various scripts 2021-04-23 17:13:28 -07:00
00_setup_env_native_qt5.sh test: fix file permissions on various scripts 2021-04-23 17:13:28 -07:00
00_setup_env_native_tsan.sh test: fix file permissions on various scripts 2021-04-23 17:13:28 -07:00
00_setup_env_native_valgrind.sh test: fix file permissions on various scripts 2021-04-23 17:13:28 -07:00
00_setup_env_s390x.sh test: fix file permissions on various scripts 2021-04-23 17:13:28 -07:00
00_setup_env_win64.sh test: fix file permissions on various scripts 2021-04-23 17:13:28 -07:00
04_install.sh Merge bitcoin/bitcoin#21664: contrib: use LIEF for macOS and Windows symbol & security checks 2021-05-05 13:22:59 +02:00
05_before_script.sh ci: Build depends only once for Android build 2021-03-28 20:05:31 +02:00
06_script_a.sh CI: add Android APK build script 2021-03-21 22:33:35 +01:00
06_script_b.sh ci: Drop travis_fold feature as Travis CI is no longer used 2020-12-17 22:02:12 +02:00
wrap-qemu.sh scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
wrap-valgrind.sh scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
wrap-wine.sh ci: Re-run wine tests once if they fail 2021-02-10 08:59:35 +01:00