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