Initial version

This commit is contained in:
Benjamin Renard 2023-03-08 19:50:55 +01:00
commit 050e19bd1a
Signed by: bn8
GPG key ID: 3E2E1CE1907115BC
3 changed files with 31 additions and 0 deletions

2
.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
*~
.*.swp

4
Dockerfile Normal file
View file

@ -0,0 +1,4 @@
from debian:stable-slim
RUN apt-get update && apt-get install --no-install-recommends -y python3-all python3-dev python3-pip python3-venv build-essential git && apt-get clean && rm -fr rm -rf /var/lib/apt/lists/*
RUN pip install -U pytest pylint pylint-junit flake8 flake8-junit-report junitparser pyupgrade pyupgrade-directories black black-junit isort

25
README.md Normal file
View file

@ -0,0 +1,25 @@
# Docker image providing common Python test tools
Image with common dependencies and common Python test tools:
- common python packages: `python3-all python3-dev python3-pip python3-venv pylint3`
- `build-essential` to allow local python package using `pip`
- `git`
- pip installed version of `pytest`, `flake8`, `pylint`, `pyupgrade` (with `pyupgrade-directories` helper lib), `black` and `isort`
- associated tools to produce JUnit tests result files: `pylint-junit`, `flake8-junit-report` and `black-junit`
- `junitparser` tool to merge JUnit tests result files
## Usage example:
```bash
docker run -it -v "$(pwd)":/src -w /src brenard/python-tests
pip install .
pytest --junitxml=pytest.xml tests
pylint --load-plugins=pylint_junit --output-format=junit --output pylint.xml mysoft tests
flake8 --output-file flake8.txt mysoft tests
flake8_junit flake8.txt flake8.xml
black --verbose --target-version py37 --line-length 100 mysoft tests 2>&1 | black-junit > black.xml
junitparser merge pytest.xml pylint.xml flake8.xml black.xml tests-report.xml
pyup_dirs --keep-percent-format --py37-plus mysoft tests
isort --profile black --line-length 100 mysoft tests
```