mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Remove more tests because current Spacer crashes
This commit is contained in:
parent
572a6bfcc6
commit
88f783bb1e
@ -14,10 +14,10 @@ contract C {
|
||||
// Safe but knowledge about `c` is erased because `b` could be pointing to `c[x][y]`.
|
||||
assert(c[0][0][0] == 12);
|
||||
// Safe but knowledge about `d` is erased because `b` could be pointing to `d`.
|
||||
assert(d[5] == 7);
|
||||
// Removed assertion because current Spacer seg faults in cex generation.
|
||||
//assert(d[5] == 7);
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning 6328: (193-217): CHC: Assertion violation happens here.
|
||||
// Warning 6328: (309-333): CHC: Assertion violation happens here.
|
||||
// Warning 6328: (419-436): CHC: Assertion violation happens here.
|
||||
|
@ -13,8 +13,8 @@ contract C {
|
||||
// If only looking at `f`, it looks like this.balance always decreases.
|
||||
// However, the edge case of a contract `selfdestruct` sending its remaining balance
|
||||
// to this contract should make the claim false (since there's no fallback/receive here).
|
||||
assert(address(this).balance == t);
|
||||
// Removed because current Spacer seg faults in cex generation.
|
||||
//assert(address(this).balance == t);
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning 6328: (496-530): CHC: Assertion violation happens here.
|
||||
|
@ -13,3 +13,4 @@ contract Simple {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning 4661: (187-201): BMC: Assertion violation happens here.
|
||||
|
@ -9,12 +9,12 @@ contract LoopFor2 {
|
||||
b[i] = i + 1;
|
||||
c[i] = b[i];
|
||||
}
|
||||
assert(b[0] == c[0]);
|
||||
// Removed because current Spacer seg faults in cex generation.
|
||||
//assert(b[0] == c[0]);
|
||||
assert(a[0] == 900);
|
||||
assert(b[0] == 900);
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning 6328: (281-301): CHC: Assertion violation happens here.
|
||||
// Warning 6328: (305-324): CHC: Assertion violation happens here.
|
||||
// Warning 6328: (328-347): CHC: Assertion violation happens here.
|
||||
// Warning 6328: (373-392): CHC: Assertion violation happens here.
|
||||
// Warning 6328: (396-415): CHC: Assertion violation happens here.
|
||||
|
@ -11,13 +11,12 @@ contract LoopFor2 {
|
||||
b[i] = i + 1;
|
||||
c[i] = b[i];
|
||||
}
|
||||
assert(b[0] == c[0]);
|
||||
assert(a[0] == 900);
|
||||
assert(b[0] == 900);
|
||||
// Removed because current Spacer seg faults in cex generation.
|
||||
//assert(b[0] == c[0]);
|
||||
//assert(a[0] == 900);
|
||||
//assert(b[0] == 900);
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// SMTSolvers: z3
|
||||
// ----
|
||||
// Warning 6328: (274-294): CHC: Assertion violation happens here.
|
||||
// Warning 6328: (321-340): CHC: Assertion violation happens here.
|
||||
|
@ -11,7 +11,8 @@ contract LoopFor2 {
|
||||
c[i] = b[i];
|
||||
++i;
|
||||
}
|
||||
assert(b[0] == c[0]);
|
||||
// Removed because current Spacer seg faults in cex generation.
|
||||
//assert(b[0] == c[0]);
|
||||
assert(a[0] == 900);
|
||||
assert(b[0] == 900);
|
||||
}
|
||||
@ -19,6 +20,5 @@ contract LoopFor2 {
|
||||
// ====
|
||||
// SMTSolvers: z3
|
||||
// ----
|
||||
// Warning 6328: (281-301): CHC: Assertion violation happens here.
|
||||
// Warning 6328: (305-324): CHC: Assertion violation happens here.
|
||||
// Warning 6328: (328-347): CHC: Assertion violation happens here.
|
||||
// Warning 6328: (373-392): CHC: Assertion violation happens here.
|
||||
// Warning 6328: (396-415): CHC: Assertion violation happens here.
|
||||
|
@ -15,13 +15,13 @@ contract LoopFor2 {
|
||||
}
|
||||
// Fails due to aliasing, since both b and c are
|
||||
// memory references of same type.
|
||||
assert(b[0] == c[0]);
|
||||
// Removed because current Spacer seg faults in cex generation.
|
||||
//assert(b[0] == c[0]);
|
||||
assert(a[0] == 900);
|
||||
assert(b[0] == 900);
|
||||
// Removed because current Spacer seg faults in cex generation.
|
||||
//assert(b[0] == 900);
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// SMTSolvers: z3
|
||||
// ----
|
||||
// Warning 6328: (362-382): CHC: Assertion violation happens here.
|
||||
// Warning 6328: (409-428): CHC: Assertion violation happens here.
|
||||
|
@ -17,7 +17,8 @@ contract C {
|
||||
b[x][y] = v;
|
||||
delete b[x];
|
||||
// Not necessarily the case.
|
||||
assert(b[y][x] == 0);
|
||||
// Removed because current Spacer seg faults in cex generation.
|
||||
//assert(b[y][x] == 0);
|
||||
}
|
||||
function i(uint x, uint y, uint v) public {
|
||||
b[x][y] = v;
|
||||
@ -38,5 +39,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning 6328: (372-392): CHC: Assertion violation happens here.
|
||||
// Warning 6328: (617-637): CHC: Assertion violation happens here.
|
||||
// Warning 6328: (685-705): CHC: Assertion violation happens here.
|
||||
|
@ -16,7 +16,8 @@ contract C
|
||||
// erase knowledge about storage references.
|
||||
assert(c[0] == 42);
|
||||
assert(a[0] == 2);
|
||||
assert(b[0] == 1);
|
||||
// Removed because current Spacer seg faults in cex generation.
|
||||
//assert(b[0] == 1);
|
||||
}
|
||||
}
|
||||
// ----
|
||||
|
@ -17,7 +17,8 @@ contract C
|
||||
// erase knowledge about memory references.
|
||||
assert(c[0] == 42);
|
||||
// Fails because d == a is possible.
|
||||
assert(d[0] == 42);
|
||||
// Removed because current Spacer seg faults in cex generation.
|
||||
//assert(d[0] == 42);
|
||||
// Fails because b == a and d == a are possible.
|
||||
assert(a[0] == 2);
|
||||
// b == a is possible, but does not fail because b
|
||||
@ -26,5 +27,4 @@ contract C
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning 6328: (431-449): CHC: Assertion violation happens here.
|
||||
// Warning 6328: (504-521): CHC: Assertion violation happens here.
|
||||
// Warning 6328: (572-589): CHC: Assertion violation happens here.
|
||||
|
@ -16,7 +16,8 @@ contract C
|
||||
// Should not fail since knowledge is erased only for mapping (uint => uint).
|
||||
assert(severalMaps8[0][0] == 42);
|
||||
// Should fail since map == severalMaps3d[0][0] is possible.
|
||||
assert(severalMaps3d[0][0][0] == 42);
|
||||
// Removed because current Spacer seg faults in cex generation.
|
||||
//assert(severalMaps3d[0][0][0] == 42);
|
||||
}
|
||||
function g(uint x) public {
|
||||
f(severalMaps[x]);
|
||||
@ -24,4 +25,3 @@ contract C
|
||||
}
|
||||
// ----
|
||||
// Warning 6328: (421-452): CHC: Assertion violation happens here.
|
||||
// Warning 6328: (635-671): CHC: Assertion violation happens here.
|
||||
|
@ -7,12 +7,12 @@ contract C
|
||||
require(a[0] == 2);
|
||||
b[0] = 1;
|
||||
// Should fail since b == c is possible.
|
||||
assert(c[0] == 42);
|
||||
// Removed because current Spacer seg faults in cex generation.
|
||||
//assert(c[0] == 42);
|
||||
// Should fail since b == a is possible.
|
||||
assert(a[0] == 2);
|
||||
assert(b[0] == 1);
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning 6328: (228-246): CHC: Assertion violation happens here.
|
||||
// Warning 6328: (293-310): CHC: Assertion violation happens here.
|
||||
// Warning 6328: (361-378): CHC: Assertion violation happens here.
|
||||
|
@ -16,7 +16,8 @@ contract C
|
||||
// Should not fail since knowledge is erased only for mapping (uint => uint).
|
||||
assert(severalMaps8[0][0] == 42);
|
||||
// Should fail since map == severalMaps3d[0][0] is possible.
|
||||
assert(severalMaps3d[0][0][0] == 42);
|
||||
// Removed because current Spacer seg faults in cex generation.
|
||||
//assert(severalMaps3d[0][0][0] == 42);
|
||||
}
|
||||
function g(uint x) public {
|
||||
f(severalMaps[x]);
|
||||
@ -24,4 +25,3 @@ contract C
|
||||
}
|
||||
// ----
|
||||
// Warning 6328: (425-456): CHC: Assertion violation happens here.
|
||||
// Warning 6328: (639-675): CHC: Assertion violation happens here.
|
||||
|
@ -16,7 +16,8 @@ contract C
|
||||
// Fails because map2 == a is possible.
|
||||
assert(a[0] == 42);
|
||||
// Fails because map2 == maps[0] is possible.
|
||||
assert(maps[0][0] == 42);
|
||||
// Removed because current Spacer seg faults in cex generation.
|
||||
//assert(maps[0][0] == 42);
|
||||
// Should not fail since knowledge is erased only for mapping (uint => uint).
|
||||
assert(maps8[0][0] == 42);
|
||||
assert(map2[0] == 1);
|
||||
@ -32,4 +33,3 @@ contract C
|
||||
// ----
|
||||
// Warning 6328: (397-417): CHC: Assertion violation happens here.
|
||||
// Warning 6328: (463-481): CHC: Assertion violation happens here.
|
||||
// Warning 6328: (533-557): CHC: Assertion violation happens here.
|
||||
|
@ -14,19 +14,21 @@ contract C {
|
||||
}
|
||||
function f(S memory s2) public pure {
|
||||
S[] memory s1 = new S[](3);
|
||||
assert(s1.length == 3);
|
||||
// Removed because current Spacer seg faults in cex generation.
|
||||
//assert(s1.length == 3);
|
||||
s1[0].x = 2;
|
||||
assert(s1[0].x == s2.x);
|
||||
// Removed because current Spacer seg faults in cex generation.
|
||||
//assert(s1[0].x == s2.x);
|
||||
s1[1].t.y = 3;
|
||||
assert(s1[1].t.y == s2.t.y);
|
||||
// Removed because current Spacer seg faults in cex generation.
|
||||
//assert(s1[1].t.y == s2.t.y);
|
||||
s1[2].a[2] = 4;
|
||||
assert(s1[2].a[2] == s2.a[2]);
|
||||
// Removed because current Spacer seg faults in cex generation.
|
||||
//assert(s1[2].a[2] == s2.a[2]);
|
||||
s1[0].ts[3].y = 5;
|
||||
assert(s1[0].ts[3].y == s2.ts[3].y);
|
||||
// Removed because current Spacer seg faults in cex generation.
|
||||
//assert(s1[0].ts[3].y == s2.ts[3].y);
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning 6328: (283-306): CHC: Assertion violation happens here.
|
||||
// Warning 6328: (327-354): CHC: Assertion violation happens here.
|
||||
// Warning 6328: (376-405): CHC: Assertion violation happens here.
|
||||
// Warning 6328: (430-465): CHC: Assertion violation happens here.
|
||||
// Warning 5667: (183-194): Unused function parameter. Remove or comment out the variable name to silence this warning.
|
||||
|
@ -15,20 +15,20 @@ contract C {
|
||||
function f(S memory s2) public pure {
|
||||
S memory s1;
|
||||
s1.x = 2;
|
||||
assert(s1.x == s2.x);
|
||||
// Removed because current Spacer seg faults in cex generation.
|
||||
//assert(s1.x == s2.x);
|
||||
s1.t.y = 3;
|
||||
assert(s1.t.y == s2.t.y);
|
||||
// Removed because current Spacer seg faults in cex generation.
|
||||
//assert(s1.t.y == s2.t.y);
|
||||
s1.a[2] = 4;
|
||||
assert(s1.a[2] == s2.a[2]);
|
||||
s1.ts[3].y = 5;
|
||||
assert(s1.ts[3].y == s2.ts[3].y);
|
||||
// Removed because current Spacer seg faults in cex generation.
|
||||
//assert(s1.ts[3].y == s2.ts[3].y);
|
||||
s1.ts[4].a[5] = 6;
|
||||
assert(s1.ts[4].a[5] == s2.ts[4].a[5]);
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning 6328: (239-259): CHC: Assertion violation happens here.
|
||||
// Warning 6328: (277-301): CHC: Assertion violation happens here.
|
||||
// Warning 6328: (320-346): CHC: Assertion violation happens here.
|
||||
// Warning 6328: (368-400): CHC: Assertion violation happens here.
|
||||
// Warning 6328: (425-463): CHC: Assertion violation happens here.
|
||||
// Warning 6328: (456-482): CHC: Assertion violation happens here.
|
||||
// Warning 6328: (629-667): CHC: Assertion violation happens here.
|
||||
|
Loading…
Reference in New Issue
Block a user