-
Notifications
You must be signed in to change notification settings - Fork 262
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update tests to work with Z3 4.12.1 #3400
Merged
Merged
Changes from 38 commits
Commits
Show all changes
110 commits
Select commit
Hold shift + click to select a range
aec5aa0
Reorder output of several tests
atomb 534a69f
Bump libraries submodule
atomb e461695
Update CI to use Z3 4.11.2
atomb da2ee9b
Roughly update some tests to work with Z3 4.11.2
atomb a23e889
Update Z3 download URLs
atomb 27429e4
Remove errant newline
atomb f092846
Fix ordering in expected output of doc test
atomb 03e3a13
Fix Z3 option used in test generation
atomb 36417d9
Allow a few more tests to pass
atomb ded3d93
Speed up a test
atomb 0eff6ce
Update expected output
atomb b7e6f51
Temporarily disable a few hard proofs
atomb f817274
Update SnapshotableTrees.dfy to be easier
atomb 2547af7
Speed up BreadthFirstSearch
atomb b20ee60
Allow ACL2-extractor to go through
atomb 1e82a0e
Reduce timeout likelihood for MutexLifetime-short
atomb 7b72ca7
Simplify Z3 version check in language server
atomb 6c6be0c
Adjust assertion order in language server test
atomb 671697c
Upgrade to Z3 4.12.1
atomb e30100d
Update a test to skip a check no longer relevant
atomb f1176b0
Update test for different models with newer Z3
atomb e0d3134
Update order of error messages
atomb 97f2e78
Fix previously-broken test update
atomb 0d01cf7
Change what Dafny's expected to prove in one case
atomb 4acf36a
Speed up a verification by splitting assertions
atomb b031987
Update download URL for Linux Z3 releases
atomb c6833a9
Update TestGeneration tests to be more permissive
atomb c2866ac
Avoid missing errors in BitvectorsMore
atomb 17ca607
Speed up dafny2/SnapshotableTrees.dfy
atomb ca920f9
Attempt XUnit tests on ubuntu-22.04
atomb b612552
Update all ubuntu-20.04 to ubuntu-22.04
atomb 0fd95ca
Get a few more tests passing with Z3 4.12.1
atomb c1a37e4
Split out test of all-literals axiom
atomb 89b458b
Update fuel tests
atomb a5a9020
Bump libraries submodule
atomb a5935db
Merge remote-tracking branch 'upstream/master' into update-tests-z3-4…
atomb c2e978f
Update fuel tests -- TODO: needs careful thought!
atomb 477c51e
Remove overly restrictive checks from test generation tests
atomb fdba438
Merge remote-tracking branch 'upstream/master' into update-tests-z3-4…
atomb dcea69b
Revert "Attempt XUnit tests on ubuntu-22.04"
atomb 7230d01
Revert "Update all ubuntu-20.04 to ubuntu-22.04"
atomb 2e8c1c7
Try Z3 4.12.2 nightly
atomb 2e856a6
Merge remote-tracking branch 'upstream/master' into update-tests-z3-4…
atomb 5fe892c
Merge remote-tracking branch 'upstream/master' into update-tests-z3-4…
atomb 0be00ac
Add more debug output to language server tests
atomb 91c8efe
Use nightly builds in Makefile, too
atomb c04ee95
Use `/errorLimit:0` to allow all errors through
atomb ba8c6d1
Enable the proof of a difficult postcondition
atomb 011b21f
Apply suggestion from @Dargones
atomb 178915d
Merge remote-tracking branch 'upstream/master' into update-tests-z3-4…
atomb 64bb1d0
Merge remote-tracking branch 'upstream/master' into update-tests-z3-4…
atomb dd6a5ae
Use custom-built Z3 binaries
atomb 5c5d349
Fix some Z3 setup typos
atomb 06fb478
Fix some more Z3-related paths
atomb e2ecab6
Merge remote-tracking branch 'upstream/master' into update-tests-z3-4…
atomb 5218862
Log memory use around verification in language server
atomb c082a01
Run language server tests with one thread
atomb deda3f8
More deterministic test of --error-limit
atomb 809b1d1
Temporarily disable the two most expensive tests
atomb d0ae816
Revert "Temporarily disable the two most expensive tests"
atomb 3a31c38
Merge remote-tracking branch 'upstream/master' into update-tests-z3-4…
atomb 6a9f3ab
Install Z3 4.8.5 _and_ 4.12.1 in CI and packaging
atomb 846de6d
Set %z3 correctly for lit-style tests
atomb 70ff9c4
Try running language server tests with Z3 4.8.5
atomb 7793799
Revert XUnit configuration to release builds
atomb 6e159d1
Fix typo
atomb 65a2516
Fix typo
atomb 7442149
Typo
atomb d9169a3
Make xUnit test tolerate other Z3 processes
atomb d44704f
Fix Z3 move on non-Windows
atomb 1f47358
Fix z3 version printing for release workflows
atomb 4d61647
Merge remote-tracking branch 'upstream/master' into update-tests-z3-4…
atomb 98c25f7
Hopefully get xUnit tests working with old setup
atomb 4ca6e61
Fix merge conflict artifact
atomb 355e811
Fix Z3 path
atomb 68f7be8
Undo changes that broke resource use test
atomb 6a114d0
Merge remote-tracking branch 'upstream/master' into update-tests-z3-4…
atomb 228a769
Update build to use both Z3 4.8.5 and 4.12.1
atomb add1e96
Fix Z3 path typo
atomb 32d9823
Use our builds of Z3 4.8.5 in xUnit tests
atomb feb2b24
Use macos-11, not macos-latest, in xUnit tests
atomb f2d6da7
Merge branch 'dual-solvers' into update-tests-z3-4.11.2
atomb cad7593
Remove merge conflict artifact
atomb 61aaf9e
Undo temporary changes
atomb 6745194
Merge remote-tracking branch 'upstream/master' into update-tests-z3-4…
atomb 50ce749
Fix a couple of test outputs
atomb 6f2b1b6
Merge remote-tracking branch 'upstream/master' into update-tests-z3-4…
atomb 85d5783
Update xUnit tests to Z3 4.12.1
atomb 1081126
Update test results
atomb 50049f8
Get one more test to pass
atomb 6c1b354
Merge remote-tracking branch 'upstream/master' into update-tests-z3-4…
atomb 2daef3a
Merge remote-tracking branch 'upstream/master' into update-tests-z3-4…
atomb 3d59924
Update expected output ordering for Fuel.dfy
atomb 86060d4
Get dafny1/MoreInduction.dfy to pass
atomb b3b2be5
Merge remote-tracking branch 'upstream/master' into update-tests-z3-4…
atomb 9ddc588
Merge remote-tracking branch 'upstream/master' into update-tests-z3-4…
atomb 8d8e327
Fix expected output order for git-issue-2299.dfy
atomb f156ca3
Get dafny2/SnapshotableTrees.dfy to pass
atomb 21c6c1a
Change test output order
atomb ef0923e
One more proof obligation in one case
atomb 910c8d1
Revert "One more proof obligation in one case"
atomb 6592175
Revert "Change test output order"
atomb 0e91d79
One more failed proof in SnapshotableTrees
atomb 66994cc
Get vstte2012/BreadthFirstSearch.dfy working
atomb 259891f
Fix some test outputs
atomb ab38ecc
Merge remote-tracking branch 'upstream/main-4.0' into update-tests-z3…
atomb 0133584
Resolve conflicts properly
atomb eae661b
Update mklink command
atomb fa8053d
Fix tests
atomb 48451aa
Disable output checking of SnapshotableTrees.dfy
atomb File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -153,7 +153,7 @@ static method eightPaths (i:int) returns (divBy2:bool, divBy3:bool, divBy5:bool) | |
".TrimStart(); | ||
var program = Utils.Parse(source); | ||
var methods = await Main.GetTestMethodsForProgram(program).ToListAsync(); | ||
Assert.IsTrue(methods.Count is >= 4 and <= 6); | ||
Assert.IsTrue(methods.Count is >= 3 and <= 6); | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think changing this to There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thanks! |
||
Assert.IsTrue(methods.All(m => m.MethodName == "Paths.eightPaths")); | ||
Assert.IsTrue(methods.All(m => m.DafnyInfo.IsStatic("Paths.eightPaths"))); | ||
Assert.IsTrue(methods.All(m => m.ArgValues.Count == 1)); | ||
|
@@ -199,18 +199,21 @@ decreases 3 - counter { | |
DafnyOptions.O.TestGenOptions.TargetMethod = | ||
"Objects.List.IsACircleOfLessThanThree"; | ||
var methods = await Main.GetTestMethodsForProgram(program).ToListAsync(); | ||
Assert.AreEqual(3, methods.Count); | ||
Assert.IsTrue(methods.Count >= 2); | ||
Assert.IsTrue(methods.All(m => | ||
m.MethodName == "Objects.List.IsACircleOfLessThanThree")); | ||
Assert.IsTrue(methods.All(m => | ||
m.DafnyInfo.IsStatic("Objects.List.IsACircleOfLessThanThree"))); | ||
Assert.IsTrue(methods.All(m => m.ArgValues.Count == 1)); | ||
// This test is too specific. A test input may be valid and still not satisfy it. | ||
/* | ||
Assert.IsTrue(methods.Exists(m => | ||
(m.Assignments.Count == 1 && m.Assignments[0] == ("v0", "next", "v0") && | ||
m.ValueCreation.Count == 1) || | ||
(m.Assignments.Count == 2 && m.Assignments[1] == ("v0", "next", "v1") && | ||
m.Assignments[0] == ("v1", "next", "v0") && | ||
m.ValueCreation.Count == 2))); | ||
*/ | ||
Assert.IsTrue(methods.Exists(m => | ||
(m.Assignments.Count > 2 && m.ValueCreation.Count > 2 && | ||
m.Assignments.Last() == ("v0", "next", "v1") && | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
// RUN: %dafny /verifyAllModules /allocated:1 /compile:0 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" | ||
// RUN: %diff "%s.expect" "%t" | ||
include "../../dafny0/AllLiteralsAxiom.dfy" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
|
||
Dafny program verifier finished with 4 verified, 0 errors |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you know why we lost this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The
???
matches anything, so that change just makes the test less fragile as the solver evolves.