Merge pull request #1332 from jooola/feat/enhance_scripts_tools
Enhance scripts tools
This commit is contained in:
commit
e2aabfe580
|
@ -36,6 +36,14 @@ jobs:
|
||||||
|
|
||||||
- run: SEVERITY=warning make shell-check
|
- run: SEVERITY=warning make shell-check
|
||||||
|
|
||||||
|
test-tools:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions/setup-python@v2
|
||||||
|
- run: make all
|
||||||
|
working-directory: tools
|
||||||
|
|
||||||
test-legacy:
|
test-legacy:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
|
|
|
@ -41,7 +41,7 @@ jobs:
|
||||||
|
|
||||||
- name: Generate packages list
|
- name: Generate packages list
|
||||||
run: |
|
run: |
|
||||||
scripts/packages.py --dev --format line ${{ matrix.release }} \
|
tools/packages.py --dev --format line ${{ matrix.release }} \
|
||||||
python_apps/airtime_analyzer \
|
python_apps/airtime_analyzer \
|
||||||
python_apps/pypo \
|
python_apps/pypo \
|
||||||
> packages.list
|
> packages.list
|
||||||
|
|
2
install
2
install
|
@ -764,7 +764,7 @@ if [ "$ignore_dependencies" = "f" ]; then
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
package_list=$(
|
package_list=$(
|
||||||
"${SCRIPT_DIR}/scripts/packages.py" --format=line "${code}" "${packages_files[@]}" ||
|
"${SCRIPT_DIR}/tools/packages.py" --format=line "${code}" "${packages_files[@]}" ||
|
||||||
(echo "ERROR: could not generate packages list" >&2 && exit 1)
|
(echo "ERROR: could not generate packages list" >&2 && exit 1)
|
||||||
)
|
)
|
||||||
set +e
|
set +e
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
[MESSAGES CONTROL]
|
||||||
|
disable=missing-module-docstring,
|
||||||
|
missing-function-docstring
|
|
@ -8,11 +8,16 @@ all: lint test
|
||||||
|
|
||||||
venv:
|
venv:
|
||||||
python3 -m venv venv
|
python3 -m venv venv
|
||||||
source venv/bin/active
|
source venv/bin/activate
|
||||||
pip install -r requirements-dev.txt
|
pip install -r requirements-dev.txt
|
||||||
|
|
||||||
lint: venv
|
lint: venv
|
||||||
pylint scripts
|
source venv/bin/activate
|
||||||
|
pylint tools
|
||||||
|
|
||||||
test: venv
|
test: venv
|
||||||
|
source venv/bin/activate
|
||||||
pytest -n ${CPU_CORES} --color=yes -v .
|
pytest -n ${CPU_CORES} --color=yes -v .
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -Rf venv
|
|
@ -1,3 +1,3 @@
|
||||||
# Scripts
|
# Tools
|
||||||
|
|
||||||
This folder contains scripts/tools to manage the project.
|
This folder contains scripts/tools to manage the project.
|
|
@ -1,10 +1,7 @@
|
||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
import json
|
|
||||||
import sys
|
|
||||||
from argparse import ArgumentParser
|
from argparse import ArgumentParser
|
||||||
from configparser import ConfigParser
|
from configparser import ConfigParser
|
||||||
from os import PathLike
|
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Iterator, Set
|
from typing import Iterator, Set
|
||||||
|
|
||||||
|
@ -62,7 +59,7 @@ def run():
|
||||||
choices=FORMATS,
|
choices=FORMATS,
|
||||||
help="print packages list in a specific format.",
|
help="print packages list in a specific format.",
|
||||||
default="list",
|
default="list",
|
||||||
),
|
)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
"-d",
|
"-d",
|
||||||
"--dev",
|
"--dev",
|
|
@ -1,8 +1,8 @@
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
from .packages import list_packages, load_packages
|
from tools.packages import list_packages, load_packages
|
||||||
|
|
||||||
package_ini = """
|
PACKAGE_INI = """
|
||||||
[common]
|
[common]
|
||||||
postgresql = buster
|
postgresql = buster
|
||||||
# Some comment
|
# Some comment
|
||||||
|
@ -20,13 +20,13 @@ result2 = {"apache2", "curl", "ffmpeg"}
|
||||||
|
|
||||||
|
|
||||||
def test_load_packages():
|
def test_load_packages():
|
||||||
assert load_packages(package_ini, "buster", False) == result1
|
assert load_packages(PACKAGE_INI, "buster", False) == result1
|
||||||
assert load_packages(package_ini, "bionic", True) == result2
|
assert load_packages(PACKAGE_INI, "bionic", True) == result2
|
||||||
|
|
||||||
|
|
||||||
def test_list_packages(tmp_path: Path):
|
def test_list_packages(tmp_path: Path):
|
||||||
package_file = tmp_path / "packages.ini"
|
package_file = tmp_path / "packages.ini"
|
||||||
package_file.write_text(package_ini)
|
package_file.write_text(PACKAGE_INI)
|
||||||
|
|
||||||
assert list_packages([tmp_path, package_file], "buster", False) == result1
|
assert list_packages([tmp_path, package_file], "buster", False) == result1
|
||||||
assert list_packages([tmp_path, package_file], "bionic", True) == result2
|
assert list_packages([tmp_path, package_file], "bionic", True) == result2
|
Loading…
Reference in New Issue