Detect addition of executable files
When running pep8 checks, fail if executable files have accidentally been added. Change-Id: Ia0efa629acf794f8e0e9b78de24b5385776c1e66
This commit is contained in:
parent
59e18450d1
commit
b985bae7c4
@ -185,6 +185,7 @@ function run_pep8 {
|
|||||||
warn_on_flake8_without_venv
|
warn_on_flake8_without_venv
|
||||||
bash -c "${wrapper} flake8"
|
bash -c "${wrapper} flake8"
|
||||||
${wrapper} bash tools/config/check_uptodate.sh --checkonly
|
${wrapper} bash tools/config/check_uptodate.sh --checkonly
|
||||||
|
${wrapper} tools/check_exec.py cinder || exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
42
tools/check_exec.py
Executable file
42
tools/check_exec.py
Executable file
@ -0,0 +1,42 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
# a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations
|
||||||
|
# under the License.
|
||||||
|
|
||||||
|
# Print a list and return with error if any executable files are found.
|
||||||
|
# Compatible with both python 2 and 3.
|
||||||
|
|
||||||
|
import os.path
|
||||||
|
import stat
|
||||||
|
import sys
|
||||||
|
|
||||||
|
if len(sys.argv) < 2:
|
||||||
|
print("Usage: %s <directory>" % sys.argv[0])
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
directory = sys.argv[1]
|
||||||
|
|
||||||
|
executable = []
|
||||||
|
|
||||||
|
for root, mydir, myfile in os.walk(directory):
|
||||||
|
for f in myfile:
|
||||||
|
path = os.path.join(root, f)
|
||||||
|
mode = os.lstat(path).st_mode
|
||||||
|
if stat.S_IXUSR & mode:
|
||||||
|
executable.append(path)
|
||||||
|
|
||||||
|
if executable:
|
||||||
|
print("Executable files found:")
|
||||||
|
for f in executable:
|
||||||
|
print(f)
|
||||||
|
|
||||||
|
sys.exit(1)
|
1
tox.ini
1
tox.ini
@ -112,6 +112,7 @@ commands =
|
|||||||
# Check that .po and .pot files are valid:
|
# Check that .po and .pot files are valid:
|
||||||
bash -c "find cinder -type f -regex '.*\.pot?' -print0|xargs -0 -n 1 msgfmt --check-format -o /dev/null"
|
bash -c "find cinder -type f -regex '.*\.pot?' -print0|xargs -0 -n 1 msgfmt --check-format -o /dev/null"
|
||||||
{toxinidir}/tools/config/check_uptodate.sh --checkonly
|
{toxinidir}/tools/config/check_uptodate.sh --checkonly
|
||||||
|
{toxinidir}/tools/check_exec.py {toxinidir}/cinder
|
||||||
|
|
||||||
[testenv:pylint]
|
[testenv:pylint]
|
||||||
deps = -r{toxinidir}/requirements.txt
|
deps = -r{toxinidir}/requirements.txt
|
||||||
|
Loading…
Reference in New Issue
Block a user