summaryrefslogtreecommitdiff
path: root/Test
Commit message (Collapse)AuthorAge
* Type parameters in method/function signatures are no longer auto-declared. ↵Gravatar Rustan Leino2015-07-02
| | | | | | | | | | | | | Although convenient and concise, the auto-declare behavior has on many occasions caused confusion when a type name has accidentally been mistyped (and Dafny had then accepted and auto-declared the name). Note, the behavior of filling in missing type parameters is still supported. This mode, although unusual (even original?) in languages, is different from the auto- declare behavior. For auto-declare, identifiers could be used in the program without having a declaration. For fill-in parameters, the implicitly declared type parameters remain anonymous.
* Added another lemma to a test fileGravatar Rustan Leino2015-07-02
|
* MergeGravatar leino2015-07-01
|\
* | Fixed bug in BplImp!Gravatar leino2015-07-01
| | | | | | | | Improvements in encoding of reads of function values.
| * Add the ability to specify how much "fuel" a function should have,Gravatar Bryan Parno2015-07-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | i.e., how many times Z3 is permitted to unfold it's definition. The new {:fuel} annotation can be added to the function itself, it which case it will apply to all uses of that function, or it can overridden within the scope of a module, function, method, iterator, calc, forall, while, assert, or assume. The general format is: {:fuel functionName,lowFuel,highFuel} When applied as an annotation to the function itself, omit functionName. If highFuel is omitted, it defaults to lowFuel + 1. The default fuel setting for recursive functions is 1,2. Setting the fuel higher, say, to 3,4, will give more unfoldings, which may make some proofs go through with less programmer assistance (e.g., with fewer assert statements), but it may also increase verification time, so use it with care. Setting the fuel to 0,0 is similar to making the definition opaque, except when used with all literal arguments.
* | Fixed bugs in encoding of preconditions of function values, Issue #84.Gravatar leino2015-06-30
| |
* | Additional test case for instance functionsGravatar leino2015-06-30
|/
* MergeGravatar leino2015-06-25
|\
* | Tried to reduce frame-axiom instantiations by saying the earlier heap must ↵Gravatar leino2015-06-25
| | | | | | | | | | | | be a "heap anchor". Currently, a heap is an anchor if it produced by a havoc (but not a direct update).
* | Removed unneeded :heapQuantifier from test case (rendinging this attribute ↵Gravatar leino2015-06-25
| | | | | | | | currently unused in the test suite)
| * Fix various bugs in nested match patterns listed in issue #83Gravatar qunyanm2015-06-19
|/
* Changed logical order of requires and reads clauses on functions. Reads clausesGravatar Rustan Leino2015-06-15
| | | | | can now assume the precondition (as had also been the case back in the days when reads clauses had to be self framing).
* Do postponsed reads checking also for the body of functions -- see ↵Gravatar Rustan Leino2015-06-15
| | | | | | Test/dafny0/Reads.dfy for benefits. (Unfortunately, this loses track of the "postcondition might not hold on this return path" locations, see Test/dafny0/FunctionSpecifications.dfy.)
* Some more reads testsGravatar Rustan Leino2015-06-15
|
* More reads testsGravatar Rustan Leino2015-06-15
|
* Postpone reads checks of function preconditions until after the entire ↵Gravatar leino2015-06-15
| | | | precondition has otherwise been checked for well-formedness
* More tests of reads-clause checkingGravatar Rustan Leino2015-06-15
|
* MergeGravatar leino2015-06-12
|\
* | Added /vcs... cop-out to test case to make it go throughGravatar leino2015-06-12
| |
| * Fix a bug spotted by Chris in my BigInteger patch; thanks!Gravatar Clément Pit--Claudel2015-06-12
| | | | | | | | | | | | | | | | | | | | | | The problem was this: Console.WriteLine(Int64.Parse("08000000000000000", NumberStyles.HexNumber)); // => -9223372036854775808 Console.WriteLine(Int64.Parse("9223372036854775808")); // => Value was either too large or too small for an Int64. In other words, large hex numbers are interpreted as a sequence of bits, not as an actual number.
* | MergeGravatar leino2015-06-12
|\|
* | Combined some common routines into CheckWellformedAndAssume, which also ↵Gravatar leino2015-06-12
| | | | | | | | allows an improvement of the generated Boogie (which will be especially good soon, when reads-clause checking may change)
| * MergeGravatar Clément Pit--Claudel2015-06-12
| |\
| * | Small fix in runTests.pyGravatar Clément Pit--Claudel2015-06-12
| | |
| | * mergeGravatar Michael Lowell Roberts2015-06-12
| | |\ | | |/ | |/|
| | * added -optimize option to compiler.Gravatar Michael Lowell Roberts2015-06-12
| |/ |/|
| * Add missing default parameter in runTests.pyGravatar Clément Pit--Claudel2015-06-11
| |
| * A few more improvements to runTests.pyGravatar Clément Pit--Claudel2015-06-11
| |
| * Small improvements to runTests.pyGravatar Clément Pit--Claudel2015-06-10
|/
* Fix the UseBaseNameForFileName flag; it shouldn't set the return code to zero.Gravatar Clément Pit--Claudel2015-06-07
| | | | | The test suite relies on error codes all being zero (except for preprocessing errors), so add a flag for that (as suggested in a source comment).
* Fix lit headers implicitly relying on bash-style constructsGravatar Clément Pit--Claudel2015-06-08
| | | | | Window's batch doesn't recognize ";" as a command separator; lit has a workaround for that, bu it's just as simple to do the right thing on our side.
* Add the beginning of a new testing infrastructureGravatar Clément Pit--Claudel2015-06-08
| | | | | | | | | | | | runTests.py reads lit-style annotations, so we will be able to retain lit compatibility. This new framework adds: * Precise timings * Proper support for interrupting using Ctrl+C * Much better reporting (including tracking of error codes, and merging of successive reports for performance tracking) * No dependency on lit, OutputCheck, or Diff * Pretty colors!
* Generate #requires function for OpaqueFunction.Gravatar qunyanm2015-06-04
|
* MergeGravatar leino2015-05-29
|\
| * Add an infinite set collection type.Gravatar qunyanm2015-05-29
| |
* | Improvements in traits test caseGravatar leino2015-05-29
| |
* | Improvements to Nipkow and Klein test cases: Changed imap to map, removed ↵Gravatar leino2015-05-29
|/ | | | need for Total
* Fix issue #81. Pass a call's TypeArgumentSubstitution to CheckCallTermination.Gravatar qunyanm2015-05-18
|
* Updated test output after change in Boogie.Gravatar wuestholz2015-05-17
|
* Fix issue #79. Allow tuple pattern matching with parenthesis only.Gravatar qunyanm2015-05-15
|
* Allow MatchExpr and MatchStmt to have nested patterns. Such asGravatar qunyanm2015-05-14
| | | | | | | | | | | | | | | | | | function last<T>(xs: List<T>): T requires xs != Nil { match xs case Cons(y, Nil) => y case Cons(y, Cons(z, zs)) => last(Cons(z, zs)) } And function minus(x: Nat, y: Nat): Nat { match (x, y) case (Zero, _) => Zero case (Suc(_), Zero) => x case (Suc(a), Suc(b)) => minus(a, b) }
* Don't include arrow types among ordered types.Gravatar leino2015-05-11
| | | | | | Fix bug with not seeing imap's because of type synonyms. Don't show semi-colon after "decreases" in hover text. Minor cosmetic change in a test case.
* Added to the test suite a Dafny encoding of Chapter 7 from the Nipkow and ↵Gravatar leino2015-05-10
| | | | | | Klein book on semantics. It includes many uses of inductive predicates and inductive lemmas.
* Additional test case for inductive predicatesGravatar leino2015-05-07
|
* Added "inductive lemma" methodsGravatar leino2015-05-07
|
* Added inductive predicatesGravatar leino2015-05-06
|
* Improved generation of .reads axioms (correcting an incorrect answer and ↵Gravatar leino2015-05-01
| | | | corresponding incorrectly recorded desired answer)
* Answer fileGravatar leino2015-05-01
|
* Improved encoding of a property of reads clauses to make things more easily ↵Gravatar leino2015-05-01
| | | | provable.
* Added to the test suite a Dafny encoding of Chapter 3 from the Nipkow and ↵Gravatar leino2015-04-29
| | | | Klein book on semantics