mirror of https://github.com/ConsenSys/mythril
blockchainethereumsmart-contractssoliditysecurityprogram-analysissecurity-analysissymbolic-execution
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
800 B
25 lines
800 B
from mythril.interfaces.cli import main
|
|
import pytest
|
|
import json
|
|
|
|
import sys
|
|
|
|
def test_version_opt(capsys):
|
|
# Check that "myth --version" returns a string with the word
|
|
# "version" in it
|
|
sys.argv = ['mythril', '--version']
|
|
with pytest.raises(SystemExit) as pytest_wrapped_e:
|
|
main()
|
|
assert pytest_wrapped_e.type == SystemExit
|
|
captured = capsys.readouterr()
|
|
assert captured.out.find(' version ') >= 1
|
|
|
|
# Check that "myth --version -o json" returns a JSON object
|
|
sys.argv = ['mythril', '--version', '-o', 'json']
|
|
with pytest.raises(SystemExit) as pytest_wrapped_e:
|
|
main()
|
|
assert pytest_wrapped_e.type == SystemExit
|
|
captured = capsys.readouterr()
|
|
d = json.loads(captured.out)
|
|
assert isinstance(d, dict)
|
|
assert d['version_str']
|
|
|