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