aboutsummaryrefslogtreecommitdiffstats
path: root/test/libsolidity/smtCheckerTests/verification_target
diff options
context:
space:
mode:
Diffstat (limited to 'test/libsolidity/smtCheckerTests/verification_target')
-rw-r--r--test/libsolidity/smtCheckerTests/verification_target/constant_condition_1.sol9
-rw-r--r--test/libsolidity/smtCheckerTests/verification_target/constant_condition_2.sol9
-rw-r--r--test/libsolidity/smtCheckerTests/verification_target/constant_condition_3.sol9
-rw-r--r--test/libsolidity/smtCheckerTests/verification_target/simple_assert.sol6
-rw-r--r--test/libsolidity/smtCheckerTests/verification_target/simple_assert_with_require.sol4
5 files changed, 37 insertions, 0 deletions
diff --git a/test/libsolidity/smtCheckerTests/verification_target/constant_condition_1.sol b/test/libsolidity/smtCheckerTests/verification_target/constant_condition_1.sol
new file mode 100644
index 00000000..b9fae4ee
--- /dev/null
+++ b/test/libsolidity/smtCheckerTests/verification_target/constant_condition_1.sol
@@ -0,0 +1,9 @@
+pragma experimental SMTChecker;
+contract C {
+ function f(uint x) public pure {
+ if (x >= 0) { revert(); }
+ }
+}
+// ----
+// Warning: (94-100): Condition is always true.
+// Warning: (104-112): Assertion checker does not yet implement this type of function call.
diff --git a/test/libsolidity/smtCheckerTests/verification_target/constant_condition_2.sol b/test/libsolidity/smtCheckerTests/verification_target/constant_condition_2.sol
new file mode 100644
index 00000000..aaa613ea
--- /dev/null
+++ b/test/libsolidity/smtCheckerTests/verification_target/constant_condition_2.sol
@@ -0,0 +1,9 @@
+pragma experimental SMTChecker;
+contract C {
+ function f(uint x) public pure {
+ if (x >= 10) { if (x < 10) { revert(); } }
+ }
+}
+// ----
+// Warning: (109-115): Condition is always false.
+// Warning: (119-127): Assertion checker does not yet implement this type of function call.
diff --git a/test/libsolidity/smtCheckerTests/verification_target/constant_condition_3.sol b/test/libsolidity/smtCheckerTests/verification_target/constant_condition_3.sol
new file mode 100644
index 00000000..f22cd65e
--- /dev/null
+++ b/test/libsolidity/smtCheckerTests/verification_target/constant_condition_3.sol
@@ -0,0 +1,9 @@
+pragma experimental SMTChecker;
+// a plain literal constant is fine
+contract C {
+ function f(uint) public pure {
+ if (true) { revert(); }
+ }
+}
+// ----
+// Warning: (136-144): Assertion checker does not yet implement this type of function call.
diff --git a/test/libsolidity/smtCheckerTests/verification_target/simple_assert.sol b/test/libsolidity/smtCheckerTests/verification_target/simple_assert.sol
new file mode 100644
index 00000000..8bd6e61a
--- /dev/null
+++ b/test/libsolidity/smtCheckerTests/verification_target/simple_assert.sol
@@ -0,0 +1,6 @@
+pragma experimental SMTChecker;
+contract C {
+ function f(uint a) public pure { assert(a == 2); }
+}
+// ----
+// Warning: (82-96): Assertion violation happens here
diff --git a/test/libsolidity/smtCheckerTests/verification_target/simple_assert_with_require.sol b/test/libsolidity/smtCheckerTests/verification_target/simple_assert_with_require.sol
new file mode 100644
index 00000000..b66ae245
--- /dev/null
+++ b/test/libsolidity/smtCheckerTests/verification_target/simple_assert_with_require.sol
@@ -0,0 +1,4 @@
+pragma experimental SMTChecker;
+contract C {
+ function f(uint a) public pure { require(a < 10); assert(a < 20); }
+}