-
Notifications
You must be signed in to change notification settings - Fork 73
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
Verify that debuggers are reset after TDML tests are run #1131
Verify that debuggers are reset after TDML tests are run #1131
Conversation
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.
+1
I found a typo in a comment.
|
||
class CustomTraceRunner extends TraceRunner { | ||
private var _lines = List.empty[String] | ||
// reset the numeLines counter to 0 |
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.
Typo numeLines
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.
+1
I'm not familiar with this approach to debugging Daffodil. Do I understand that the InteractiveDebugger class here does not mean that you interact with a live interactive debugger command line, rather, it lets you supply a callback "listener" class which can trace parts of Daffodil execution and print or accumulate data to help you debug a problem?
Yep. There's a number of commands that the interactive debugger understands (e.g. "break", "step", "continue", "eval"). The "listener" or "debugger runner" is what provides the commands to run and receives the results to display. The name "interactive" is probably not the best since it really doesn't need to have user interaction at all (e.g the |
Current behavior in Daffodil is to automatically disable debugging after a call to runOneTest, which helps to avoid errors where enabling debugging in one test might cause failures in another test. This updates a test to use the latest TDML API and confirm that this behavior actually happens. Note that the schema that originally found the issue with long-lived debugger state is no longer valid in Daffodil, so it needed some tweaks. This also simplifies the custom debugger to avoid storing strings that are never needed. DAFFODIL-790
6196aab
to
8b553ae
Compare
Current behavior in Daffodil is to automatically disable debugging after a call to runOneTest, which helps to avoid errors where enabling debugging in one test might cause failures in another test.
This updates a test to use the latest TDML API and confirm that this behavior actually happens. Note that the schema that originally found the issue with long-lived debugger state is no longer valid in Daffodil, so it needed some tweaks. This also simplifies the custom debugger to avoid storing strings that are never needed.
DAFFODIL-790