Skip to content
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

Verification succeeded sent only once #4451

Closed
MikaelMayer opened this issue Aug 22, 2023 · 0 comments · Fixed by #4454
Closed

Verification succeeded sent only once #4451

MikaelMayer opened this issue Aug 22, 2023 · 0 comments · Fixed by #4454
Assignees
Labels
kind: bug Crashes, unsoundness, incorrect output, etc. If possible, add a `part:` label release-blocker Must be resolved before the next release

Comments

@MikaelMayer
Copy link
Member

MikaelMayer commented Aug 22, 2023

Dafny version

latest-nightly

Code to produce this issue

method Test() {
}

Command to run and resulting output

Paste in VSCode until it says "Verification succeeded"
Add a newline inside the method.

What happened?

Now the status bar is stuck on "preparing verification..." forever.
Git bisect traces this bug back to #3902
Adding another method with at least one assertion prevents this issue.

What type of operating system are you experiencing the problem on?

Windows

@MikaelMayer MikaelMayer added the kind: bug Crashes, unsoundness, incorrect output, etc. If possible, add a `part:` label label Aug 22, 2023
@MikaelMayer MikaelMayer added the release-blocker Must be resolved before the next release label Aug 22, 2023
keyboardDrummer added a commit that referenced this issue Aug 23, 2023
Fixes #4451

### Changes
- symbolStatus notifications are resent after any document change is
made.
- "Parsing" is no longer sent when opening a file because it's the
default state for a file. This requires an update on the client to
return to the old behavior, but in the meantime it's OK for the client
to have this tiny regression.
- "Preparing Verification" no longer exists as a notification. Because
one verifiable can be preparing verification while another is verifying,
there is no longer a global "Preparing verification" state so this
notification lost its meaning. We can bring something like this back but
on a more granular level.
- "Resolution Succeeded (not verified)" (UI name) / CompilationSucceeded
(server name) no longer exists as a notification. This sat between
ResolutionStarted and symbolStatus notifications that indicated which
symbols could be verified, but in practice was never shown because
immediately after it symbolStatus notifications would be sent that
trigger a status like "Verified X declarations, skipped Y"
- `CompilationManager` no longer sends any status updates to the IDE
client, bringing it closer to being able to be moved to `DafnyCore` and
used by the CLI.

### Testing
- Updated automating tests

<small>By submitting this pull request, I confirm that my contribution
is made under the terms of the [MIT
license](https://github.com/dafny-lang/dafny/blob/master/LICENSE.txt).</small>
keyboardDrummer added a commit to keyboardDrummer/dafny that referenced this issue Sep 15, 2023
…#4454)

Fixes dafny-lang#4451

### Changes
- symbolStatus notifications are resent after any document change is
made.
- "Parsing" is no longer sent when opening a file because it's the
default state for a file. This requires an update on the client to
return to the old behavior, but in the meantime it's OK for the client
to have this tiny regression.
- "Preparing Verification" no longer exists as a notification. Because
one verifiable can be preparing verification while another is verifying,
there is no longer a global "Preparing verification" state so this
notification lost its meaning. We can bring something like this back but
on a more granular level.
- "Resolution Succeeded (not verified)" (UI name) / CompilationSucceeded
(server name) no longer exists as a notification. This sat between
ResolutionStarted and symbolStatus notifications that indicated which
symbols could be verified, but in practice was never shown because
immediately after it symbolStatus notifications would be sent that
trigger a status like "Verified X declarations, skipped Y"
- `CompilationManager` no longer sends any status updates to the IDE
client, bringing it closer to being able to be moved to `DafnyCore` and
used by the CLI.

### Testing
- Updated automating tests

<small>By submitting this pull request, I confirm that my contribution
is made under the terms of the [MIT
license](https://github.com/dafny-lang/dafny/blob/master/LICENSE.txt).</small>
keyboardDrummer added a commit that referenced this issue Sep 19, 2023
Fixes #4451

### Changes
- symbolStatus notifications are resent after any document change is
made.
- "Parsing" is no longer sent when opening a file because it's the
default state for a file. This requires an update on the client to
return to the old behavior, but in the meantime it's OK for the client
to have this tiny regression.
- "Preparing Verification" no longer exists as a notification. Because
one verifiable can be preparing verification while another is verifying,
there is no longer a global "Preparing verification" state so this
notification lost its meaning. We can bring something like this back but
on a more granular level.
- "Resolution Succeeded (not verified)" (UI name) / CompilationSucceeded
(server name) no longer exists as a notification. This sat between
ResolutionStarted and symbolStatus notifications that indicated which
symbols could be verified, but in practice was never shown because
immediately after it symbolStatus notifications would be sent that
trigger a status like "Verified X declarations, skipped Y"
- `CompilationManager` no longer sends any status updates to the IDE
client, bringing it closer to being able to be moved to `DafnyCore` and
used by the CLI.

### Testing
- Updated automating tests

<small>By submitting this pull request, I confirm that my contribution
is made under the terms of the [MIT
license](https://github.com/dafny-lang/dafny/blob/master/LICENSE.txt).</small>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind: bug Crashes, unsoundness, incorrect output, etc. If possible, add a `part:` label release-blocker Must be resolved before the next release
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants