From 41a62d0033f139094f64d784a1805ef275b13e19 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Loi=CC=88c=20Correnson?= <loic.correnson@cea.fr>
Date: Mon, 16 Mar 2020 19:11:42 +0100
Subject: [PATCH] [wp] added test for integer quantifiers

---
 src/plugins/wp/tests/wp_bts/issue_825.i       | 16 ++++++++
 .../tests/wp_bts/oracle/issue_825.res.oracle  | 40 +++++++++++++++++++
 .../wp_bts/oracle_qualif/issue_825.res.oracle | 18 +++++++++
 3 files changed, 74 insertions(+)
 create mode 100644 src/plugins/wp/tests/wp_bts/issue_825.i
 create mode 100644 src/plugins/wp/tests/wp_bts/oracle/issue_825.res.oracle
 create mode 100644 src/plugins/wp/tests/wp_bts/oracle_qualif/issue_825.res.oracle

diff --git a/src/plugins/wp/tests/wp_bts/issue_825.i b/src/plugins/wp/tests/wp_bts/issue_825.i
new file mode 100644
index 00000000000..b4c514fccc8
--- /dev/null
+++ b/src/plugins/wp/tests/wp_bts/issue_825.i
@@ -0,0 +1,16 @@
+/*@
+  ensures \false ;
+  assigns \nothing;
+*/
+void job(void)
+{
+  int i=0, K=0;
+  /*@
+    loop invariant \forall integer j; 0 < j < 0 ==> \false ;
+    loop assigns i ;
+  */
+  while (i < 10) {
+    K ++;
+    i ++;
+  }
+}
diff --git a/src/plugins/wp/tests/wp_bts/oracle/issue_825.res.oracle b/src/plugins/wp/tests/wp_bts/oracle/issue_825.res.oracle
new file mode 100644
index 00000000000..8bbd713c28c
--- /dev/null
+++ b/src/plugins/wp/tests/wp_bts/oracle/issue_825.res.oracle
@@ -0,0 +1,40 @@
+# frama-c -wp [...]
+[kernel] Parsing tests/wp_bts/issue_825.i (no preprocessing)
+[wp] Running WP plugin...
+[wp] Loading driver 'share/wp.driver'
+[wp] Warning: Missing RTE guards
+------------------------------------------------------------
+  Function job
+------------------------------------------------------------
+
+Goal Post-condition (file tests/wp_bts/issue_825.i, line 2) in 'job':
+Prove: true.
+
+------------------------------------------------------------
+
+Goal Preservation of Invariant (file tests/wp_bts/issue_825.i, line 9):
+Prove: true.
+
+------------------------------------------------------------
+
+Goal Establishment of Invariant (file tests/wp_bts/issue_825.i, line 9):
+Prove: true.
+
+------------------------------------------------------------
+
+Goal Loop assigns (file tests/wp_bts/issue_825.i, line 10) (1/2):
+Prove: true.
+
+------------------------------------------------------------
+
+Goal Loop assigns (file tests/wp_bts/issue_825.i, line 10) (2/2):
+Effect at line 13
+Prove: true.
+
+------------------------------------------------------------
+
+Goal Assigns nothing in 'job':
+Effect at line 12
+Prove: true.
+
+------------------------------------------------------------
diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_825.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_825.res.oracle
new file mode 100644
index 00000000000..09e0f30d5ed
--- /dev/null
+++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_825.res.oracle
@@ -0,0 +1,18 @@
+# frama-c -wp [...]
+[kernel] Parsing tests/wp_bts/issue_825.i (no preprocessing)
+[wp] Running WP plugin...
+[wp] Loading driver 'share/wp.driver'
+[wp] Warning: Missing RTE guards
+[wp] 6 goals scheduled
+[wp] [Qed] Goal typed_job_ensures : Valid
+[wp] [Qed] Goal typed_job_loop_invariant_preserved : Valid
+[wp] [Qed] Goal typed_job_loop_invariant_established : Valid
+[wp] [Qed] Goal typed_job_loop_assigns_part1 : Valid
+[wp] [Qed] Goal typed_job_loop_assigns_part2 : Valid
+[wp] [Qed] Goal typed_job_assigns : Valid
+[wp] Proved goals:    6 / 6
+  Qed:             6
+------------------------------------------------------------
+ Functions                 WP     Alt-Ergo  Total   Success
+  job                       6        -        6       100%
+------------------------------------------------------------
-- 
GitLab