forked from Mirror/pmbootstrap
Set up static code analysis, fix style issues reported by flake8
This commit is contained in:
parent
1cce0155fd
commit
75641f5fc7
10 changed files with 58 additions and 8 deletions
11
.travis.yaml
Normal file
11
.travis.yaml
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
language: "python"
|
||||||
|
python: "3.6"
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
sources:
|
||||||
|
- debian-sid
|
||||||
|
packages:
|
||||||
|
- shellcheck
|
||||||
|
install: "pip install flake8"
|
||||||
|
script: "test/static_code_analysis.sh"
|
||||||
|
|
|
@ -16,7 +16,6 @@ GNU General Public License for more details.
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with pmbootstrap. If not, see <http://www.gnu.org/licenses/>.
|
along with pmbootstrap. If not, see <http://www.gnu.org/licenses/>.
|
||||||
"""
|
"""
|
||||||
import urllib.request
|
|
||||||
import os
|
import os
|
||||||
import logging
|
import logging
|
||||||
import shutil
|
import shutil
|
||||||
|
@ -158,7 +157,6 @@ def init(args):
|
||||||
"""
|
"""
|
||||||
Download, verify, extract $WORK/apk.static.
|
Download, verify, extract $WORK/apk.static.
|
||||||
"""
|
"""
|
||||||
base_url = args.mirror_alpine + "edge/main/" + args.arch_native
|
|
||||||
apkindex = download(args, "APKINDEX.tar.gz")
|
apkindex = download(args, "APKINDEX.tar.gz")
|
||||||
index_data = pmb.parse.apkindex.read(args, "apk-tools-static", apkindex)
|
index_data = pmb.parse.apkindex.read(args, "apk-tools-static", apkindex)
|
||||||
version = index_data["version"]
|
version = index_data["version"]
|
||||||
|
|
|
@ -16,6 +16,8 @@ GNU General Public License for more details.
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with pmbootstrap. If not, see <http://www.gnu.org/licenses/>.
|
along with pmbootstrap. If not, see <http://www.gnu.org/licenses/>.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
def replace(path, old, new):
|
def replace(path, old, new):
|
||||||
text = ""
|
text = ""
|
||||||
with open(path, 'r') as handle:
|
with open(path, 'r') as handle:
|
||||||
|
|
45
test/static_code_analysis.sh
Executable file
45
test/static_code_analysis.sh
Executable file
|
@ -0,0 +1,45 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# Copyright 2017 Oliver Smith
|
||||||
|
#
|
||||||
|
# This file is part of pmbootstrap.
|
||||||
|
#
|
||||||
|
# pmbootstrap is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# pmbootstrap is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with pmbootstrap. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
set -e
|
||||||
|
DIR="$(cd "$(dirname "$0")" && pwd -P)"
|
||||||
|
cd "$DIR"/..
|
||||||
|
|
||||||
|
# Shell: shellcheck
|
||||||
|
sh_files="test/static_code_analysis.sh"
|
||||||
|
echo "Test $sh_files with shellcheck..."
|
||||||
|
for file in ${sh_files}; do
|
||||||
|
shellcheck "${file}"
|
||||||
|
done
|
||||||
|
|
||||||
|
# Python: flake8
|
||||||
|
# E501: max line length
|
||||||
|
# F401: imported, but not used, does not make sense in __init__ files
|
||||||
|
# E402: module import not on top of file, not possible for testcases
|
||||||
|
echo "Test *.py files with flake8..."
|
||||||
|
echo "NOTE: Run 'autopep8 -ria $PWD' to fix code style issues"
|
||||||
|
py_files="$(find . -name '*.py')"
|
||||||
|
_ignores="E501,E402"
|
||||||
|
# shellcheck disable=SC2086
|
||||||
|
flake8 --exclude=__init__.py --ignore "$_ignores" $py_files
|
||||||
|
# shellcheck disable=SC2086
|
||||||
|
flake8 --filename=__init__.py --ignore "F401,$_ignores" $py_files
|
||||||
|
|
||||||
|
# Done
|
||||||
|
echo "Success!"
|
||||||
|
|
|
@ -16,7 +16,6 @@ GNU General Public License for more details.
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with pmbootstrap. If not, see <http://www.gnu.org/licenses/>.
|
along with pmbootstrap. If not, see <http://www.gnu.org/licenses/>.
|
||||||
"""
|
"""
|
||||||
#!/usr/bin/env python3
|
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import tarfile
|
import tarfile
|
||||||
|
|
|
@ -16,7 +16,6 @@ GNU General Public License for more details.
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with pmbootstrap. If not, see <http://www.gnu.org/licenses/>.
|
along with pmbootstrap. If not, see <http://www.gnu.org/licenses/>.
|
||||||
"""
|
"""
|
||||||
#!/usr/bin/env python3
|
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import pytest
|
import pytest
|
||||||
|
|
|
@ -16,7 +16,6 @@ GNU General Public License for more details.
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with pmbootstrap. If not, see <http://www.gnu.org/licenses/>.
|
along with pmbootstrap. If not, see <http://www.gnu.org/licenses/>.
|
||||||
"""
|
"""
|
||||||
#!/usr/bin/env python3
|
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import pytest
|
import pytest
|
||||||
|
|
|
@ -16,7 +16,6 @@ GNU General Public License for more details.
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with pmbootstrap. If not, see <http://www.gnu.org/licenses/>.
|
along with pmbootstrap. If not, see <http://www.gnu.org/licenses/>.
|
||||||
"""
|
"""
|
||||||
#!/usr/bin/env python3
|
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import pytest
|
import pytest
|
||||||
|
|
|
@ -16,7 +16,6 @@ GNU General Public License for more details.
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with pmbootstrap. If not, see <http://www.gnu.org/licenses/>.
|
along with pmbootstrap. If not, see <http://www.gnu.org/licenses/>.
|
||||||
"""
|
"""
|
||||||
#!/usr/bin/env python3
|
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import pytest
|
import pytest
|
||||||
|
|
|
@ -16,7 +16,6 @@ GNU General Public License for more details.
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with pmbootstrap. If not, see <http://www.gnu.org/licenses/>.
|
along with pmbootstrap. If not, see <http://www.gnu.org/licenses/>.
|
||||||
"""
|
"""
|
||||||
#!/usr/bin/env python3
|
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import pytest
|
import pytest
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue