Skip to content

Commit e0ad143

Browse files
committed
chore: dashify file list exception for liner
1 parent 98a2dad commit e0ad143

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

test/lint/lint-files.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
ALLOWED_FILENAME_REGEXP = "^[a-zA-Z0-9/_.@][a-zA-Z0-9/_.@-]*$"
2222
ALLOWED_SOURCE_FILENAME_REGEXP = "^[a-z0-9_./-]+$"
2323
ALLOWED_SOURCE_FILENAME_EXCEPTION_REGEXP = (
24-
"^src/(secp256k1/|univalue/|test/fuzz/FuzzedDataProvider.h)"
24+
"^src/(dashbls/|immer/|secp256k1/|univalue/|test/fuzz/FuzzedDataProvider.h)"
2525
)
2626
ALLOWED_PERMISSION_NON_EXECUTABLES = 0o644
2727
ALLOWED_PERMISSION_EXECUTABLES = 0o755
@@ -87,9 +87,10 @@ def check_all_filenames(files) -> int:
8787
"""
8888
filenames = files.keys()
8989
filename_regex = re.compile(ALLOWED_FILENAME_REGEXP)
90+
filename_exception_regex = re.compile(ALLOWED_SOURCE_FILENAME_EXCEPTION_REGEXP)
9091
failed_tests = 0
9192
for filename in filenames:
92-
if not filename_regex.match(filename):
93+
if not filename_regex.match(filename) and not filename_exception_regex.match(filename):
9394
print(
9495
f"""File {repr(filename)} does not not match the allowed filename regexp ('{ALLOWED_FILENAME_REGEXP}')."""
9596
)
@@ -123,8 +124,12 @@ def check_all_file_permissions(files) -> int:
123124
124125
Additionally checks that for executable files, the file contains a shebang line
125126
"""
127+
filename_exception_regex = re.compile(ALLOWED_SOURCE_FILENAME_EXCEPTION_REGEXP)
128+
126129
failed_tests = 0
127130
for filename, file_meta in files.items():
131+
if filename_exception_regex.match(filename):
132+
continue
128133
if file_meta.permissions == ALLOWED_PERMISSION_EXECUTABLES:
129134
with open(filename, "rb") as f:
130135
shebang = f.readline().rstrip(b"\n")
@@ -171,9 +176,12 @@ def check_shebang_file_permissions(files_meta) -> int:
171176
# The git grep command we use returns files which contain a shebang on any line within the file
172177
# so we need to filter the list to only files with the shebang on the first line
173178
filenames = [filename.split(":1:")[0] for filename in filenames if ":1:" in filename]
179+
filename_exception_regex = re.compile(ALLOWED_SOURCE_FILENAME_EXCEPTION_REGEXP)
174180

175181
failed_tests = 0
176182
for filename in filenames:
183+
if filename_exception_regex.match(filename):
184+
continue
177185
file_meta = files_meta[filename]
178186
if file_meta.permissions != ALLOWED_PERMISSION_EXECUTABLES:
179187
# These file types are typically expected to be sourced and not executed directly

0 commit comments

Comments
 (0)