Age | Commit message (Collapse) | Author | Files | Lines |
|
Use new spike mechanism to test OpenOCD behavior when a hart becomes
unavailable, and then available again.
|
|
Use new spike mechanism to test OpenOCD behavior when the current hart
becomes unavailable while running.
Create ThreadTerminated exception.
|
|
Use the new spike mechanism to test OpenOCD behavior when a hart becomes
unavailable while running.
Create CommandException.
|
|
It's a bit messy to read the log file to get the output, but it seems to
be flushed often so that this works.
Also, added the `targets` method for retrieving the list of targets,
and `wait_until_running` method to wait until all targets are in a
running state.
|
|
|
|
|
|
|
|
Just so it's easier to quickly comment out code and hard-code the target
to use without pylint complaining. This really should be a command line
option.
|
|
|
|
debug: flushregs -> maintenance flush register-cache
|
|
flushregs is deprecated.
|
|
* Add an exclude list for known failing Hifive1 tests
This commit adds a list of known failing tests based on: https://github.com/riscv/riscv-openocd/issues/869#issue-1769176709
* Fix name of the HiFive1 flash target
Signed-off-by: Marek Vrbka <133884222+MarekVCodasip@users.noreply.github.com>
---------
Signed-off-by: Marek Vrbka <133884222+MarekVCodasip@users.noreply.github.com>
|
|
change warning check in RepeatReadTest
|
|
debug: Don't rely on RISCV env
|
|
|
|
Fix for test program compilation failures due to lack of `zicsr` extension in `-march=rvXX...`
|
|
That made sense when mostly people used riscv-tools, but now they get
tools from all sorts of places and most of them are suitable for the
debug tests.
Also document RISCV_TESTS_DEBUG_GCC and RISCV_TESTS_DEBUG_GDB
environment variables in the README.
The github workflows that rely on these tests don't use the Makefile,
but instead invoke gdbserver.py directly, so they're not affected by
this change.
Fixes #481
|
|
|
|
|
|
Github workflow to run pylint against debug tests
|
|
I'm using this to greatly reduce the timeout when I'm reproducing a
failure I know is going to time out.
|
|
debug: optimize the FreeRtosTest case.
|
|
|
|
Add a way to exclude tests by specifying an exclusion file
|
|
This patch adds a way to specify a yaml file which specifies either
for each target individually or for all targets to exclude tests.
Example file format is included in excluded.yaml.example.
|
|
To make sure the rtos module of OpenOCD works well.
Signed-off-by: Chao Du <duchao@eswincomputing.com>
|
|
If the environment variables aren't set, then use the same defaults as
previously.
My current set of tools use riscv64-elf-gcc and riscv64-elf-gdb, and
this makes it trivial to use them.
|
|
- Replace general "Exception" with "GdbServerError" in gdbserver.py for when no
samples are collected
- Replace general "Exception" with "TargetsException" in targets.py for XLEN
mismatch
- Introduce "TestLibError" exception in testlib.py and replace general
exceptions in various locations
- Update pylint.rc to remove overgeneral-exceptions warning
|
|
|
|
We were using a variety of deprecated commands.
The driving force behind this was the new way to use `expr{}` as the old
way no longer works with mainline OpenOCD.
|
|
Don't build with -DMULTICORE because this is not a test that really does
multicore. It's one where we just want to park the other harts.
|
|
debug: fix pylint error W0621 redefined-outer-name
|
|
|
|
|
|
Need to set the etrigger on the hart we're running the test against.
|
|
|
|
|
|
|
|
Test that we work correctly when the hart we're debugging ceases to
respond while it's running.
|
|
Test that we work correctly when the hart we're debugging ceases to
respond during stepi.
Add wait parameter to Gdb.stepi(), in case stepi isn't expected to complete.
Parse "could not read registers" error from gdb
|
|
Confirm basic debug still works when other harts have been parked using
a `cease` instruction. Check that the unavailable harts are inaccessible
from gdb.
Add Gdb.expect()
Parse "unknown thread" error from gdb.
|
|
Also make the semi-hosting test program return 10. That's more fragile
than returning 0, so makes for a better test.
|
|
|
|
This gives you less noise in the log, and more chance of figuring out
what code was actually executed.
|
|
`flush regs` is being deprecated.
|
|
`cease` is not a standard RISC-V extension, but is (was?) implemented in
Rocket, and also exists in some SiFive cores. It's useful to test
OpenOCD behavior when a hart becomes unavailable.
See also https://github.com/chipsalliance/rocket-chip/issues/1868
|
|
|
|
Also change the test itself to require less RAM than it did previously.
(It had required more than 32KB.)
|
|
It would fail intermittently. We can't guarantee all harts resume
simultaneously. When we let multiple harts run to a breakpoint at the
end of the same loop, one is likely to get there first, and the second
won't make it.
To avoid this problem, run for a short amount of time instead of to a
breakpoint.
|
|
Before it might fail incorrectly, because main was close to trap_entry.
|