mirror of https://github.com/ConsenSys/mythril
parent
8718a4501f
commit
0a2996a83e
@ -0,0 +1,56 @@ |
||||
import pytest |
||||
|
||||
from mythril.ethereum.util import extract_version |
||||
|
||||
|
||||
test_data = ( |
||||
("pragma solidity 0.5.0\n", ["0.5.0"]), |
||||
("pragma solidity ^0.4.26\n", ["0.4.26"]), |
||||
("pragma solidity ^0.6.3;\n", [f"0.6.{x}" for x in range(3, 13)]), |
||||
( |
||||
"""pragma solidity >=0.4.0 <0.6.0; |
||||
contract SimpleStorage { |
||||
uint storedData; |
||||
function set(uint x) public { |
||||
storedData = x; |
||||
} |
||||
function get() public view returns (uint) { |
||||
return storedData; |
||||
} |
||||
}""", |
||||
[f"0.4.{x}" for x in range(11, 27)] + [f"0.5.{x}" for x in range(0, 18)], |
||||
), |
||||
( |
||||
""" |
||||
pragma solidity >=0.4.0 <0.6.0 |
||||
;contract SimpleStorage { |
||||
uint storedData; |
||||
function set(uint x) public { |
||||
storedData = x; |
||||
} |
||||
function get() public view returns (uint) { |
||||
return storedData; |
||||
} |
||||
}""", |
||||
[f"0.4.{x}" for x in range(11, 27)] + [f"0.5.{x}" for x in range(0, 18)], |
||||
), |
||||
( |
||||
""" |
||||
pragma solidity >=0.4.0 <0.6.0 |
||||
;contract SimpleStorage { |
||||
uint storedData; |
||||
function set(uint x) public { |
||||
storedData = x; |
||||
} |
||||
function get() public view returns (uint) { |
||||
return storedData; |
||||
} |
||||
}""", |
||||
[f"0.4.{x}" for x in range(11, 27)] + [f"0.5.{x}" for x in range(0, 18)], |
||||
), |
||||
) |
||||
|
||||
|
||||
@pytest.mark.parametrize("input_,output", test_data) |
||||
def test_sar(input_, output): |
||||
assert extract_version(input_) in output |
Loading…
Reference in new issue