Comments (5)
According to the comments in TreadleBackend, report is called to dump VCDs. Is there another treadle API to do the same thing / cleanly close the backend? I think the reporting is purely a side effect.
My own preference is that unit tests shouldn't print anything except for a pass / fail unless the user enables debugging flags - automation is the goal and needing to read through the console dump defeats that purpose...
from chiseltest.
Yes, the alternative is to call tester.finish
in TreadleBackend instead, as it will just flush the vcd and print nothing. So that should probably be done.
OTOH, While I agree with you that automation is a big goal, the other no less important one is to enable test driven development, which is non-automated and usually involves a lot of looking at the tests outputs. To emphasize this, testers2 will also be more and more a part of the bootcamp. I think users will be better served to see some obvious success message rather than the unixy
Process finished with exit code 0
from chiseltest.
I share @ducky64's preference here. I'd like to see the output as indistinguishable from scalatest. The only default reporting should be limited to standard scalatest testing information, scalatest methods (info
, scenario
, feature
, etc.), and user-explicit printf
. (I'd go one step further and turn off all the Verilator compilation junk, too.)
from chiseltest.
I think the ScalaTest framework test(...) should not print anything by default at the very least.
However, it might be useful to think of how we could allow the user to print additional debugging data - maybe test() should return a status object that could be directly printed to the console? Maybe RawTester should have a test() variant that has an integrated print, or returns useful directly-printable status?
from chiseltest.
I think that info
currently doesn't print anything if used in testers2. It would be nice if this was supported as it seems to be the most canonical way to print additional information during a test. I use this pretty heavily in some of the newer FIRRTL testing and it makes the tests look pretty clean.
from chiseltest.
Related Issues (20)
- JRE detects `EXCEPTION_ACCESS_VIOLATION` when trying to use Verilator as Chiseltest's backend HOT 2
- Report assert message with `FailedBoundedCheckException` HOT 1
- Generate waveform file in real-time HOT 1
- chiseltest gets the signal name wrong when trying to peek, poke, or expect an OpaqueType HOT 3
- Solver Chosen Constants for Formal Verification HOT 3
- scala.NotImplementedError: TODO: convert ThrowOnFirstErrorAnnotation HOT 3
- Bundle literal construction outside test() is not allowed in Chiseltest 5.0.0 (works in 0.5.4) HOT 2
- assertion failed: The Chisel compiler plugin is now required for compiling Chisel code HOT 1
- The waveform doesn't reflect changes in the input port until io.clock.peek HOT 1
- scala.NotImplementedError: TODO: convert DecodeTableAnnotatio HOT 7
- Will there be a chiseltest 6.0.0? HOT 16
- Frequent crash on macOS with the threaded Verilator backend HOT 6
- AXI4RAM test failed on chiseltest 5.0.2 HOT 2
- Cant ```import chiseltest._``` HOT 1
- Bitwuzla has changed it's command line argument format HOT 1
- [WARNING] Unsupported annotation: SRAMAnnotation
- [Help]A TLRAM test failed log HOT 8
- What are the future use cases of ChiselTest if it is replaced by ChiselSim? HOT 4
- Who is the copyright holder of chiseltest and what is the license? HOT 1
- one step takes extremely long time to complete HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from chiseltest.