Running tests

Run every test or one, read each result in words in the Tests rail, and jump from a failure to its waveform, its source or the assistant.

Run in the top bar, or ⌘Enter, runs every test. Press it again while tests run to stop them. To run one test, use the play button on its row, double click the row, or pick it in the command bar.

Results in words

Each row in the Tests rail says how its test ended:

Passed
Icarus passed it and the netlist simulator agreed on every sample.
Passed in Icarus only
Icarus passed it, but the second simulator could not check the run. It is not counted as a pass.
Failed at 12.3 µs
The testbench stopped it, with the time and the message. The waveform opens there.
Failed
A FAIL line or a non-zero exit, with no time attached.
Simulators disagree
The two simulators saw different values. Never shown as a pass.
Stopped at the time limit
The run reached the time limit.
Stopped at the data limit
The waveform reached the data limit.
Stopped
You stopped it.
Could not run
The test did not compile or could not start. The reason is under its row.

Hover a row for the message, how long it took, and how many unknown values it found. After an edit, results stay but dim, because they ran against the code before it.

After a failure

  • The waveform dock opens on the failing test at the failing time. Turn this off under Engines in the Inspector.
  • Below the tests, Find out why asks the assistant, and Show jumps the waveform to the failure.
  • Right click a test to run it, show its waveform, open its source, or copy its name.

Limits

One test may run for 60 s and write 256 MB of waveform. A test that reaches either limit is stopped and says which, and the waveform keeps every time step it finished.

With more than four tests, a filter appears at the top of the rail: by name or file, and by All, Failed or Not run.