fix(tools): create-project with proper file permission - pre-commit fix

Closes https://github.com/espressif/esp-idf/pull/11836
This commit is contained in:
Marek Fiala
2023-07-18 14:08:37 +02:00
parent 354e2c4673
commit e8ee59f68b

View File

@@ -241,11 +241,12 @@ def test_create_project_with_idf_readonly(idf_copy: Path) -> None:
def change_to_readonly(src: Path) -> None: def change_to_readonly(src: Path) -> None:
for root, dirs, files in os.walk(src): for root, dirs, files in os.walk(src):
for name in dirs: for name in dirs:
os.chmod(os.path.join(root, name), 0o555) # read & execute os.chmod(os.path.join(root, name), 0o555) # read & execute
for name in files: for name in files:
path = os.path.join(root, name) path = os.path.join(root, name)
if '/bin/' in path: continue # skip excutables if '/bin/' in path:
os.chmod(os.path.join(root, name), 0o444) # readonly continue # skip excutables
os.chmod(os.path.join(root, name), 0o444) # readonly
logging.info('Check that command for creating new project will success if the IDF itself is readonly.') logging.info('Check that command for creating new project will success if the IDF itself is readonly.')
change_to_readonly(idf_copy) change_to_readonly(idf_copy)
run_idf_py('create-project', '--path', str(idf_copy / 'example_proj'), 'temp_test_project') run_idf_py('create-project', '--path', str(idf_copy / 'example_proj'), 'temp_test_project')