Merge branch 'Ida/ci-test' into 'master'

add strip_0x to fix address tests that fail

See merge request cicnet/eth-erc20!8
This commit is contained in:
Louis Holbrook 2022-02-11 12:50:54 +00:00
commit e3bc539424
7 changed files with 42 additions and 8 deletions

1
.gitignore vendored
View File

@ -5,3 +5,4 @@ build/
gmon.out gmon.out
*.egg-info *.egg-info
.venv/ .venv/
.idea

View File

@ -1,7 +1,9 @@
stages: stages:
- test - test
- run-coverage
- slither-analyzer - slither-analyzer
variables: variables:
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip" PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
@ -35,8 +37,31 @@ test:
# run tests # run tests
- bash run_tests.sh - bash run_tests.sh
slither-analize: 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 image: registry.gitlab.com/grassrootseconomics/cic-base-images/ci-solc-python:latest
allow_failure: true allow_failure: true
script: script:
- slither solidity/ - cd solidity
- slither GiftableToken.sol
- slither GiftableToken.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
[report]
omit = .venv/*
**/runnable/*.py
[html]

View File

@ -12,6 +12,7 @@ from chainlib.eth.tx import (
receipt, receipt,
) )
from chainlib.eth.address import to_checksum_address from chainlib.eth.address import to_checksum_address
from hexathon import strip_0x
# local imports # local imports
from giftable_erc20_token import GiftableToken from giftable_erc20_token import GiftableToken
@ -102,7 +103,7 @@ class TestToken(EthTesterCase):
o = transaction(tx_hash) o = transaction(tx_hash)
r = self.rpc.do(o) r = self.rpc.do(o)
data = c.parse_transfer_request(r['data']) data = c.parse_transfer_request(r['data'])
self.assertEqual(data[0], self.accounts[1]) self.assertEqual(data[0], strip_0x(self.accounts[1]))
self.assertEqual(data[1], 1000) self.assertEqual(data[1], 1000)
@ -124,7 +125,7 @@ class TestToken(EthTesterCase):
o = transaction(tx_hash) o = transaction(tx_hash)
r = self.rpc.do(o) r = self.rpc.do(o)
data = c.parse_approve_request(r['data']) data = c.parse_approve_request(r['data'])
self.assertEqual(data[0], self.accounts[1]) self.assertEqual(data[0], strip_0x(self.accounts[1]))
self.assertEqual(data[1], 1000) self.assertEqual(data[1], 1000)
nonce_oracle = RPCNonceOracle(self.accounts[1], conn=self.conn) nonce_oracle = RPCNonceOracle(self.accounts[1], conn=self.conn)
@ -138,8 +139,8 @@ class TestToken(EthTesterCase):
o = transaction(tx_hash) o = transaction(tx_hash)
r = self.rpc.do(o) r = self.rpc.do(o)
data = c.parse_transfer_from_request(r['data']) data = c.parse_transfer_from_request(r['data'])
self.assertEqual(data[0], self.accounts[0]) self.assertEqual(data[0], strip_0x(self.accounts[0]))
self.assertEqual(data[1], self.accounts[2]) self.assertEqual(data[1], strip_0x(self.accounts[2]))
self.assertEqual(data[2], 1001) self.assertEqual(data[2], 1001)
(tx_hash, o) = c.transfer_from(self.address, self.accounts[1], self.accounts[0], self.accounts[2], 1000) (tx_hash, o) = c.transfer_from(self.address, self.accounts[1], self.accounts[0], self.accounts[2], 1000)

View File

@ -1,4 +1,4 @@
pragma solidity >0.6.11; pragma solidity >=0.6.11;
// SPDX-License-Identifier: GPL-3.0-or-later // SPDX-License-Identifier: GPL-3.0-or-later
// File-Version: 2 // File-Version: 2