Skip to content
Snippets Groups Projects
Commit bb0d6454 authored by Allan Blanchard's avatar Allan Blanchard
Browse files

[wp] More tests for smoking assumes

parent 40fb8823
No related branches found
No related tags found
No related merge requests found
...@@ -7,13 +7,34 @@ ...@@ -7,13 +7,34 @@
*/ */
//@ requires a < 0 && a > 0 ; //@ requires a < 0 && a > 0 ;
void default_requires(int a){} void requires(int a){}
/*@ requires a < 0 ; /*@ requires a < 0 ;
behavior B: behavior B:
assumes a > 0 ; assumes a > 0 ;
*/ */
void default_reqs_assumes(int a){} void reqs_assumes(int a){}
/*@ requires a < 0 ;
behavior B:
assumes a > 0 ;
assumes a > 1 ;
*/
void reqs_2_2_assumes(int a){}
/*@ requires a < 0 ;
behavior B:
assumes a > 0 ;
assumes a < -42 ;
*/
void reqs_1_2_assumes(int a){}
/*@ requires a >= 0 ;
behavior B:
assumes a > 10 ;
assumes a < 10 ;
*/
void reqs_combined_assumes(int a){}
/*@ behavior B: /*@ behavior B:
assumes a < 0 && a > 0 ; // not detected assumes a < 0 && a > 0 ; // not detected
...@@ -25,3 +46,11 @@ void only_assumes(int a){} ...@@ -25,3 +46,11 @@ void only_assumes(int a){}
requires a < 0 ; requires a < 0 ;
*/ */
void bhv_requires_assumes(int a){} void bhv_requires_assumes(int a){}
/*@ requires a < 0 ;
behavior B1:
assumes a > 0 ;
behavior B2:
assumes a > 1 ;
*/
void reqs_massumes(int a){}
...@@ -11,27 +11,103 @@ Prove: true. ...@@ -11,27 +11,103 @@ Prove: true.
------------------------------------------------------------ ------------------------------------------------------------
------------------------------------------------------------ ------------------------------------------------------------
Function default_reqs_assumes Function reqs_1_2_assumes
------------------------------------------------------------ ------------------------------------------------------------
Goal Wp_smoke_default_requires in 'default_reqs_assumes': Goal Wp_smoke_default_requires in 'reqs_1_2_assumes':
Assume { Type: is_sint32(a). (* Pre-condition *) Have: a < 0. } Assume { Type: is_sint32(a). (* Pre-condition *) Have: a < 0. }
Prove: false. Prove: false.
------------------------------------------------------------ ------------------------------------------------------------
------------------------------------------------------------ ------------------------------------------------------------
Function default_reqs_assumes with behavior B Function reqs_1_2_assumes with behavior B
------------------------------------------------------------ ------------------------------------------------------------
Goal Wp_smoke_B_assumes in 'default_reqs_assumes': Goal Wp_smoke_B_assumes in 'reqs_1_2_assumes':
Prove: true. Prove: true.
------------------------------------------------------------ ------------------------------------------------------------
------------------------------------------------------------ ------------------------------------------------------------
Function default_requires Function reqs_2_2_assumes
------------------------------------------------------------ ------------------------------------------------------------
Goal Wp_smoke_default_requires in 'default_requires': Goal Wp_smoke_default_requires in 'reqs_2_2_assumes':
Assume { Type: is_sint32(a). (* Pre-condition *) Have: a < 0. }
Prove: false.
------------------------------------------------------------
------------------------------------------------------------
Function reqs_2_2_assumes with behavior B
------------------------------------------------------------
Goal Wp_smoke_B_assumes in 'reqs_2_2_assumes':
Prove: true.
------------------------------------------------------------
------------------------------------------------------------
Function reqs_assumes
------------------------------------------------------------
Goal Wp_smoke_default_requires in 'reqs_assumes':
Assume { Type: is_sint32(a). (* Pre-condition *) Have: a < 0. }
Prove: false.
------------------------------------------------------------
------------------------------------------------------------
Function reqs_assumes with behavior B
------------------------------------------------------------
Goal Wp_smoke_B_assumes in 'reqs_assumes':
Prove: true.
------------------------------------------------------------
------------------------------------------------------------
Function reqs_combined_assumes
------------------------------------------------------------
Goal Wp_smoke_default_requires in 'reqs_combined_assumes':
Assume { Type: is_sint32(a). (* Pre-condition *) Have: 0 <= a. }
Prove: false.
------------------------------------------------------------
------------------------------------------------------------
Function reqs_combined_assumes with behavior B
------------------------------------------------------------
Goal Wp_smoke_B_assumes in 'reqs_combined_assumes':
Prove: true.
------------------------------------------------------------
------------------------------------------------------------
Function reqs_massumes
------------------------------------------------------------
Goal Wp_smoke_default_requires in 'reqs_massumes':
Assume { Type: is_sint32(a). (* Pre-condition *) Have: a < 0. }
Prove: false.
------------------------------------------------------------
------------------------------------------------------------
Function reqs_massumes with behavior B1
------------------------------------------------------------
Goal Wp_smoke_B1_assumes in 'reqs_massumes':
Prove: true.
------------------------------------------------------------
------------------------------------------------------------
Function reqs_massumes with behavior B2
------------------------------------------------------------
Goal Wp_smoke_B2_assumes in 'reqs_massumes':
Prove: true.
------------------------------------------------------------
------------------------------------------------------------
Function requires
------------------------------------------------------------
Goal Wp_smoke_default_requires in 'requires':
Prove: true. Prove: true.
------------------------------------------------------------ ------------------------------------------------------------
...@@ -2,23 +2,46 @@ ...@@ -2,23 +2,46 @@
[kernel] Parsing tests/wp_plugin/doomed_pre.i (no preprocessing) [kernel] Parsing tests/wp_plugin/doomed_pre.i (no preprocessing)
[wp] Running WP plugin... [wp] Running WP plugin...
[wp] Warning: Missing RTE guards [wp] Warning: Missing RTE guards
[wp] 4 goals scheduled [wp] 13 goals scheduled
[wp] [Failed] Smoke-test typed_default_requires_wp_smoke_default_requires [wp] [Failed] Smoke-test typed_requires_wp_smoke_default_requires
Qed: Valid Qed: Valid
[wp] tests/wp_plugin/doomed_pre.i:10: Warning: Failed smoke-test [wp] tests/wp_plugin/doomed_pre.i:10: Warning: Failed smoke-test
[wp] [Passed] Smoke-test typed_default_reqs_assumes_wp_smoke_default_requires [wp] [Passed] Smoke-test typed_reqs_assumes_wp_smoke_default_requires
[wp] [Failed] Smoke-test typed_default_reqs_assumes_wp_smoke_B_assumes [wp] [Failed] Smoke-test typed_reqs_assumes_wp_smoke_B_assumes
Qed: Valid Qed: Valid
[wp] tests/wp_plugin/doomed_pre.i:16: Warning: Failed smoke-test [wp] tests/wp_plugin/doomed_pre.i:16: Warning: Failed smoke-test
[wp] [Passed] Smoke-test typed_reqs_2_2_assumes_wp_smoke_default_requires
[wp] [Failed] Smoke-test typed_reqs_2_2_assumes_wp_smoke_B_assumes
Qed: Valid
[wp] tests/wp_plugin/doomed_pre.i:23: Warning: Failed smoke-test
[wp] [Passed] Smoke-test typed_reqs_1_2_assumes_wp_smoke_default_requires
[wp] [Failed] Smoke-test typed_reqs_1_2_assumes_wp_smoke_B_assumes
Qed: Valid
[wp] tests/wp_plugin/doomed_pre.i:30: Warning: Failed smoke-test
[wp] [Passed] Smoke-test typed_reqs_combined_assumes_wp_smoke_default_requires
[wp] [Failed] Smoke-test typed_reqs_combined_assumes_wp_smoke_B_assumes
Qed: Valid
[wp] tests/wp_plugin/doomed_pre.i:37: Warning: Failed smoke-test
[wp] [Failed] Smoke-test typed_bhv_requires_assumes_wp_smoke_B_requires [wp] [Failed] Smoke-test typed_bhv_requires_assumes_wp_smoke_B_requires
Qed: Valid Qed: Valid
[wp] tests/wp_plugin/doomed_pre.i:27: Warning: Failed smoke-test [wp] tests/wp_plugin/doomed_pre.i:48: Warning: Failed smoke-test
[wp] Proved goals: 1 / 4 [wp] [Passed] Smoke-test typed_reqs_massumes_wp_smoke_default_requires
Qed: 0 (failed: 3) [wp] [Failed] Smoke-test typed_reqs_massumes_wp_smoke_B1_assumes
Alt-Ergo: 1 Qed: Valid
[wp] tests/wp_plugin/doomed_pre.i:56: Warning: Failed smoke-test
[wp] [Failed] Smoke-test typed_reqs_massumes_wp_smoke_B2_assumes
Qed: Valid
[wp] tests/wp_plugin/doomed_pre.i:56: Warning: Failed smoke-test
[wp] Proved goals: 5 / 13
Qed: 0 (failed: 8)
Alt-Ergo: 5
------------------------------------------------------------ ------------------------------------------------------------
Functions WP Alt-Ergo Total Success Functions WP Alt-Ergo Total Success
default_requires - - 1 0.0% requires - - 1 0.0%
default_reqs_assumes - 1 2 50.0% reqs_assumes - 1 2 50.0%
reqs_2_2_assumes - 1 2 50.0%
reqs_1_2_assumes - 1 2 50.0%
reqs_combined_assumes - 1 2 50.0%
bhv_requires_assumes - - 1 0.0% bhv_requires_assumes - - 1 0.0%
reqs_massumes - 1 3 33.3%
------------------------------------------------------------ ------------------------------------------------------------
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment