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.
26 lines
800 B
26 lines
800 B
6 years ago
|
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']
|