RiescueD

RiescueD is the Riescue Directed Test Framework used to generate directed tests. It consists of a Python library and a command-line interface. The main workflow for writing directed tests is: 1. Write .s file using assembly with RiescueD Directives 2. Provide system memory map and configuration in cpuconfig .json` file 3. Run RiescueD to produce:

  • ELF binary

  • .S assembly file

  • .ld Linker Script

Command-line Interface

The main entry point for the framework is the riescued.py wraper script. To see available run options, run:

python3 -m riescued  -h

To run a directed test, use

python3 -m riescued  --testname <path/to/test.s> --cpuconfig <path/to/cpuconfig.json>

You can also run a wrapper script, e.g.

from riescue import RiescueD

RiescueD.run_cli("-t test.s".split())
RiescueD.run_cli(["--t", "test.s"])

API

The RiescueD python library can also be used to generate directed tests.

NOTE: This will likely change before the v.1.0.0 release, it’s recommneded to start with the command-line until there’s a stable python library

class riescue.RiescueD

Bases: CliBase

package_path = PosixPath('/home/runner/work/riescue/riescue/riescue')
static add_arguments(parser)

Adds group arguments to the parser

classmethod run_cli(args=None, **kwargs)

Use JsonArgParser to parse commandline arguments

run(cl_args)
resolve_path(file: str, run_dir: Path) Path

Helper function to resolve config/test file paths. Tries relative to cwd, then package/install dir, then run_dir.

relative to install directory.