def test_find_solc_versions(find_version, msolc): assert '0.4.22' in find_version('0.4.22') assert '0.4.23' in find_version('^0.4.20') assert '0.5.8' in find_version('>0.4.20') assert '0.5.8' in find_version('<=0.5.8') assert '0.5.7' in find_version('>=0.4.2 <0.5.8') assert '0.5.7' in find_version('>0.4.8 <0.5.8 || 0.5.11') assert '0.4.22' in find_version('0.5.9 || 0.4.22') with pytest.raises(PragmaError): compiler.find_solc_versions({'Foo': "contract Foo {}"}) with pytest.raises(PragmaError): find_version('^0.6.0', install_needed=False)
def test_find_solc_versions(find_version, msolc): assert "0.4.22" in find_version("0.4.22") assert "0.4.23" in find_version("^0.4.20") assert "0.5.8" in find_version(">0.4.20") assert "0.5.8" in find_version("<=0.5.8") assert "0.5.7" in find_version(">=0.4.2 <0.5.8") assert "0.5.7" in find_version(">0.4.8 <0.5.8 || 0.5.11") assert "0.4.22" in find_version("0.5.9 || 0.4.22") with pytest.raises(PragmaError): compiler.find_solc_versions({"Foo": "contract Foo {}"}) with pytest.raises(IncompatibleSolcVersion): find_version("^0.6.0", install_needed=False) with pytest.raises(PragmaError): find_version("^0.6.0", install_needed=True)
def fn(version, **kwargs): return compiler.find_solc_versions({"Foo": source.format(version)}, **kwargs)