mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2025-03-20 07:03:53 +03:00
36 lines
1.2 KiB
Python
36 lines
1.2 KiB
Python
# Lint as: python3
|
|
# Copyright 2021 The Chromium Authors
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
import logging
|
|
import os
|
|
import pathlib
|
|
import subprocess
|
|
|
|
# These paths should be relative to repository root.
|
|
_BAD_FILES = [
|
|
# Malformed BUILD.gn file, remove this entry once it is fixed.
|
|
"third_party/swiftshader/tests/VulkanUnitTests/BUILD.gn",
|
|
]
|
|
|
|
|
|
def is_bad_gn_file(filepath: str, root: pathlib.Path) -> bool:
|
|
relpath = os.path.relpath(filepath, root)
|
|
for bad_filepath in _BAD_FILES:
|
|
if relpath == bad_filepath:
|
|
logging.info(f'Skipping {relpath}: found in _BAD_FILES list.')
|
|
return True
|
|
if not os.access(filepath, os.R_OK | os.W_OK):
|
|
logging.info(f'Skipping {relpath}: Cannot read and write to it.')
|
|
return True
|
|
return False
|
|
|
|
|
|
def is_git_ignored(root: pathlib.Path, filepath: str) -> bool:
|
|
# The command git check-ignore exits with 0 if the path is ignored, 1 if it
|
|
# is not ignored.
|
|
exit_code = subprocess.run(['git', 'check-ignore', '-q', filepath],
|
|
cwd=root).returncode
|
|
return exit_code == 0
|