Skip to content
This repository has been archived by the owner on Apr 25, 2024. It is now read-only.

Regression new updated expected output #1044

Draft
wants to merge 4 commits into
base: master
Choose a base branch
from
Draft

Conversation

ehildenb
Copy link
Member

I'm opening this issue to discuss the various changes that running make update-results causes in regression-new test-suite. I figure we can keep this open as we triage all these things.

Comment on lines -1 to +8
[Error] Compiler: Only claims and simplification rules are allowed in proof modules.
[Error] Compiler: Only claims and simplification rules are allowed in proof
modules.
Source(rule-spec.k)
Location(6,10,6,43)
6 | rule <k> doIt(foo) => doIt(0) ... </k>
. ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[Error] Compiler: Had 1 structural errors.
Traceback (most recent call last):
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess for these errors we can:

  • Add option --no-wrap-exc to pyk prove ..., and pass it through to kprove --dry-run ...
  • Implement custom error handling for pyk prove ... similar to what we do for kompile

The only challenge is that here we are using a temporary file as the JSON dump, and that will show up in the error message. So I guess we also need to:

  • Allow specifying --tmp-dir ... for pyk prove ..., and use that directory for dumping the temporary files.
  • Use a more deterministic filename for the temporary JSON file we dump.

OR

  • Dump the JSON in a file immediately next to the spec file as a convention.

OR

  • Strip that line of output in the testing harness.

Comment on lines -1 to +27
kore-exec: [] Warning (WarnStuckClaimState):
The configuration's term unifies with the destination's term, but the implication check between the conditions has failed. Location: a2-spec.k:7:1-8:18
Context:
(InfoReachability) while checking the implication
#Ceil ( bar ( X ) )
#And
#Not ( #Ceil ( baz ( X ) )
#And
{
bar ( X )
#Equals
baz ( X )
} )
#And
<k>
end ( bar ( X ) ) ~> .K
</k>
#And
{
true
#Equals
X <Int 0
}
[Error] Prover: backend terminated because the configuration cannot be rewritten further. See output for more details.
APRProof: A2-SPEC.s2
status: ProofStatus.FAILED
admitted: False
nodes: 5
pending: 0
failing: 1
vacuous: 0
stuck: 1
terminal: 0
refuted: 0
bounded: 0
execution time: 0s
Subproofs: 0
1 Failure nodes. (0 pending and 1 failing)

Failing nodes:

Node id: 5
Failure reason:
Matching failed.
The following cells failed matching individually (antecedent #Implies consequent):
K_CELL: end ( bar ( X:Int ) ) #Implies end ( baz ( X:Int ) )
Path condition:
#Ceil ( bar ( X:Int ) )
Failed to generate a model.

Join the Runtime Verification Discord server for support: https://discord.gg/CurfmXNtbN
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This failure information message contains largely the same information as the original message, basically the part that failed and path condition to it. Are we happy with this new way of presenting information?

Comment on lines -1 to +10
<k>
"open" ~> "(\"foo\", \"r\")\n" ~> "" ~> .K
</k>
<generatedTop>
<k>
"open"
~> "(\"foo\", \"r\")\n"
~> ""
</k>
<generatedCounter>
0
</generatedCounter>
</generatedTop>
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pyk prints out KSequence on newlines, as an aesthetic choice. Do we want to allow this and make it default, or retain the original version? I guess printing KSequence on newlines would look bad if there is a KSequence inside of some other construct in the configuration.

Comment on lines -1 to +8
<k>
x = ( 0 ~> .K ) ; .RecordDescr ~> .K
</k>
<generatedTop>
<k>
... key: x = value: 0 ~> .K ; .RecordDescr ~> .K
</k>
<generatedCounter>
0
</generatedCounter>
</generatedTop>
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems to be a bug in how pyk unparser works.

Comment on lines -1 to +9
<k>
bar ( 0 , 0 ) ~> bar ( 0 , 0 ) ~> .K
</k>
<generatedTop>
<k>
bar ( 0 , 0 )
~> bar ( 0 , 0 )
</k>
<generatedCounter>
1
</generatedCounter>
</generatedTop>
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should be including the tail of the sequence every time in pyks unparser.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant