[SMTChecker] Fix imports

This commit is contained in:
Leonardo Alt
2020-09-11 13:34:46 +02:00
parent 72f8a753a9
commit 23ee011c56
13 changed files with 195 additions and 72 deletions
+1
View File
@@ -48,6 +48,7 @@ function solcjs_test
printLog "Copying SMTChecker tests..."
cp -Rf "$TEST_DIR"/test/libsolidity/smtCheckerTests test/
rm -rf test/smtCheckerTests/imports
# Update version (needed for some tests)
echo "Updating package.json to version $VERSION"
@@ -0,0 +1,25 @@
==== Source: ====
import "B.sol";
pragma experimental SMTChecker;
contract C is B {
function h(uint _x) public view {
assert(_x < x);
}
}
==== Source: A.sol ====
contract A {
uint x;
function f(uint _x) public {
x = _x;
}
}
==== Source: B.sol ====
import "A.sol";
contract B is A {
function g(uint _x) public view {
assert(_x > x);
}
}
// ----
// Warning 6328: (103-117): Assertion violation happens here.
// Warning 6328: (B.sol:71-85): Assertion violation happens here.
@@ -0,0 +1,27 @@
==== Source: ====
import "B.sol";
pragma experimental SMTChecker;
contract C is B {
function h(uint _x) public view {
assert(_x < x);
}
}
==== Source: A.sol ====
contract A {
uint x;
function f(uint _x) public {
x = _x;
}
}
==== Source: B.sol ====
import "A.sol";
pragma experimental SMTChecker;
contract B is A {
function g(uint _x) public view {
assert(_x > x);
}
}
// ----
// Warning 6328: (B.sol:103-117): Assertion violation happens here.
// Warning 6328: (103-117): Assertion violation happens here.
// Warning 6328: (B.sol:103-117): Assertion violation happens here.
@@ -0,0 +1,26 @@
==== Source: ====
import "A.sol";
pragma experimental SMTChecker;
contract C is A {
function h(uint _x) public view {
assert(_x < x);
}
}
==== Source: A.sol ====
contract A {
uint x;
function f(uint _x) public {
x = _x;
}
}
==== Source: B.sol ====
import "A.sol";
pragma experimental SMTChecker;
contract B is A {
function g(uint _x) public view {
assert(_x > x);
}
}
// ----
// Warning 6328: (103-117): Assertion violation happens here.
// Warning 6328: (B.sol:103-117): Assertion violation happens here.
@@ -0,0 +1,6 @@
==== Source: A.sol ====
contract A { function f() public {} }
==== Source:====
import "A.sol";
pragma experimental SMTChecker;
contract C is A {}
@@ -0,0 +1,12 @@
==== Source: ====
import "A.sol";
pragma experimental SMTChecker;
contract C is A {}
==== Source: A.sol ====
contract A {
function f(uint x) public pure {
assert(x > 0);
}
}
// ----
// Warning 6328: (A.sol:49-62): Assertion violation happens here.
@@ -0,0 +1,14 @@
==== Source: ====
import "A.sol";
pragma experimental SMTChecker;
contract C is A {}
==== Source: A.sol ====
pragma experimental SMTChecker;
contract A {
function f(uint x) public pure {
assert(x > 0);
}
}
// ----
// Warning 6328: (A.sol:81-94): Assertion violation happens here.
// Warning 6328: (A.sol:81-94): Assertion violation happens here.