From acbc126c01fee3ab71647a7b16f4dcfc80eee2ea Mon Sep 17 00:00:00 2001 From: qunyanm Date: Fri, 18 Mar 2016 09:48:26 -0700 Subject: Fix issue 93. Add per-function fuel setting that can be adjusted locally based on context. --- Test/dafny0/Fuel.dfy | 4 ++-- Test/dafny0/Fuel.dfy.expect | 10 ++++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) (limited to 'Test/dafny0') diff --git a/Test/dafny0/Fuel.dfy b/Test/dafny0/Fuel.dfy index abbc831e..6347e134 100644 --- a/Test/dafny0/Fuel.dfy +++ b/Test/dafny0/Fuel.dfy @@ -126,7 +126,7 @@ module TestModule4 { requires y > 5; requires z < 0; { - assert {:fuel pos,0,0} pos(z) == 0; // error: Should fail due to "opaque" fuel setting + assert {:fuel pos,0,0} pos(z) == 0; // error: fuel can't be decreased assert pos(-1) == 0; if (*) { assert pos(y) == 3 + pos(y - 3); // error: Should fail without extra fuel setting @@ -404,7 +404,7 @@ module TestModule9 { requires y > 5; requires z < 0; { - assert {:fuel abs,0,0} abs(z) == -1*z; // error: Cannot see the body of abs + assert {:fuel abs,0,0} abs(z) == -1*z; // error: fuel can't be decreased assert abs(y) == y; // Normal success assert abs(-1) == 1; // lit bypasses fuel, so this should succeed } diff --git a/Test/dafny0/Fuel.dfy.expect b/Test/dafny0/Fuel.dfy.expect index 0c128941..275be237 100644 --- a/Test/dafny0/Fuel.dfy.expect +++ b/Test/dafny0/Fuel.dfy.expect @@ -1,3 +1,5 @@ +Fuel.dfy(129,8): Error: Fuel can only increase within a given scope. +Fuel.dfy(407,8): Error: Fuel can only increase within a given scope. Fuel.dfy(17,22): Error: assertion violation Execution trace: (0,0): anon0 @@ -25,14 +27,17 @@ Execution trace: Fuel.dfy(129,38): Error: assertion violation Execution trace: (0,0): anon0 + (0,0): anon7_Then Fuel.dfy(132,26): Error: assertion violation Execution trace: (0,0): anon0 - (0,0): anon3_Then + Fuel.dfy(129,9): anon7_Else + (0,0): anon8_Then Fuel.dfy(133,26): Error: assertion violation Execution trace: (0,0): anon0 - (0,0): anon3_Then + Fuel.dfy(129,9): anon7_Else + (0,0): anon8_Then Fuel.dfy(157,22): Error: assertion violation Execution trace: (0,0): anon0 @@ -91,6 +96,7 @@ Execution trace: Fuel.dfy(407,38): Error: assertion violation Execution trace: (0,0): anon0 + (0,0): anon3_Then Fuel.dfy(435,22): Error: assertion violation Execution trace: (0,0): anon0 -- cgit v1.2.3