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
801 B
26 lines
801 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"]
|
|
|