Ida/ci test

This commit is contained in:
Idaapayo 2022-02-20 19:46:58 +00:00 committed by Blair Vanderlugt
parent e5f3acc3e3
commit 3e35a8b32a
5 changed files with 68 additions and 1 deletions

2
.gitignore vendored
View File

@ -4,3 +4,5 @@ dist/
gmon.out
__pycache__
*.pyc
venv
.idea

58
.gitlab-ci.yml Normal file
View File

@ -0,0 +1,58 @@
stages:
- test
- run-coverage
- slither-analyzer
variables:
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
cache:
paths:
- .cache/pip
- .venv/
before_script:
- python -V # Print out python version for debugging
- pip install virtualenv
- virtualenv venv
- source venv/bin/activate
test:
image: registry.gitlab.com/grassrootseconomics/cic-base-images/ci-solc-python:latest
script:
# install test dependencies
- cd python
- export PYTHONPATH=.
- pip install --extra-index-url https://pip.grassrootseconomics.net
--extra-index-url https://gitlab.com/api/v4/projects/27624814/packages/pypi/simple
-r requirements.txt -r test_requirements.txt
# run tests
- bash run_tests.sh
run-coverage:
stage: test
image: registry.gitlab.com/grassrootseconomics/cic-base-images/ci-solc-python:latest
script:
- cd python
- export PYTHONPATH=.
- pip install --extra-index-url https://pip.grassrootseconomics.net
--extra-index-url https://gitlab.com/api/v4/projects/27624814/packages/pypi/simple
-r requirements.txt -r test_requirements.txt
- pip install pytest pytest-cov
- coverage run -m pytest
- coverage html
- coverage report --fail-under=90
coverage: '/^TOTAL.+?(\d+\%)$/'
artifacts:
reports:
cobertura: python/htmlcov/index.html
slither-analyzer:
image: registry.gitlab.com/grassrootseconomics/cic-base-images/ci-solc-python:latest
allow_failure: true
script:
- cd solidity
- slither Registry.sol
- slither Registry.sol --print human-summary

BIN
python/.coverage Normal file

Binary file not shown.

7
python/.coveragerc Normal file
View File

@ -0,0 +1,7 @@
[run]
branch = True
source = eth_contract_registry
[report]
omit = .venv/*
**/runnable/*.py
[html]

View File

@ -52,7 +52,7 @@ def test_set(
o = builder.address_of(registry, 'ContractRegistry', sender_address=eth_accounts[0])
r = eth_rpc.do(o)
r = abi_decode_single(ABIContractType.ADDRESS, r)
assert r == registry
assert r == strip_0x(registry)
(tx_hash_hex, o) = builder.set(registry, roles['CONTRACT_DEPLOYER'], 'ContractRegistry', addr_registry)
r = eth_rpc.do(o)