52 lines
2.2 KiB
YAML
52 lines
2.2 KiB
YAML
name: tests
|
|
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
test:
|
|
|
|
runs-on: ubuntu-18.04
|
|
strategy:
|
|
max-parallel: 16
|
|
matrix:
|
|
python-version: [3.6, 3.7, 3.8, 3.9]
|
|
|
|
steps:
|
|
- name: Checkout ZeroNet
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
submodules: recursive
|
|
|
|
- name: Set up Python ${{ matrix.python-version }}
|
|
uses: actions/setup-python@v1
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
|
|
- name: Prepare for installation
|
|
run: |
|
|
python3 -m pip install setuptools
|
|
python3 -m pip install --upgrade pip wheel
|
|
python3 -m pip install --upgrade codecov coveralls flake8 mock pytest==4.6.3 pytest-cov selenium
|
|
|
|
- name: Install
|
|
run: |
|
|
python3 -m pip install --upgrade -r requirements.txt
|
|
python3 -m pip list
|
|
|
|
- name: Prepare for tests
|
|
run: |
|
|
openssl version -a
|
|
echo 0 | sudo tee /proc/sys/net/ipv6/conf/all/disable_ipv6
|
|
|
|
- name: Test
|
|
run: |
|
|
catchsegv python3 -m pytest src/Test --cov=src --cov-config src/Test/coverage.ini
|
|
export ZERONET_LOG_DIR="log/CryptMessage"; catchsegv python3 -m pytest -x plugins/CryptMessage/Test
|
|
export ZERONET_LOG_DIR="log/Bigfile"; catchsegv python3 -m pytest -x plugins/Bigfile/Test
|
|
export ZERONET_LOG_DIR="log/AnnounceLocal"; catchsegv python3 -m pytest -x plugins/AnnounceLocal/Test
|
|
export ZERONET_LOG_DIR="log/OptionalManager"; catchsegv python3 -m pytest -x plugins/OptionalManager/Test
|
|
export ZERONET_LOG_DIR="log/Multiuser"; mv plugins/disabled-Multiuser plugins/Multiuser && catchsegv python -m pytest -x plugins/Multiuser/Test
|
|
export ZERONET_LOG_DIR="log/Bootstrapper"; mv plugins/disabled-Bootstrapper plugins/Bootstrapper && catchsegv python -m pytest -x plugins/Bootstrapper/Test
|
|
find src -name "*.json" | xargs -n 1 python3 -c "import json, sys; print(sys.argv[1], end=' '); json.load(open(sys.argv[1])); print('[OK]')"
|
|
find plugins -name "*.json" | xargs -n 1 python3 -c "import json, sys; print(sys.argv[1], end=' '); json.load(open(sys.argv[1])); print('[OK]')"
|
|
flake8 . --count --select=E9,F63,F72,F82 --show-source --statistics --exclude=src/lib/pyaes/
|