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"]