8. Test List FormatΒΆ

For a given ISA and PLATFORM YAML configuration files, RISCOF is capable of generating a list of tests that need to be executed on the DUT and Golden model. This test list can be generated using the following command:

riscof testlist --config=config.ini

The above command generates a file: riscof_work/test_list.yaml. This file has the following syntax:

<name of assembly file>:
  work_dir: <absolute path where the file needs to be copied and compiled>
  macros: [ <list of macros that need to be defined during compilation of the test> ]
  isa: <string from the RVTEST_ISA macro from the assembly file>
  coverage_labels: [ <list of covergroups that need to be hit by the test> ]
  test_path: <absolute path of the source of assembly file>

The test-list is meant to be used by the DUT/Golden model plugins to generate execution environments/Makefile for architectural suite testing.

A sample test_list.yaml would look like the following:

/scratch/git-repo/github/riscv-arch-test/riscv-test-suite/rv64i_m/M/src/div-01.S:
  work_dir: /scratch/git-repo/incoresemi/temp/riscof_work/src/div-01.S
  macros:
  - TEST_CASE_1=True
  - XLEN=64
  isa: RV64IM
  coverage_labels:
  - div
  test_path: /scratch/git-repo/github/riscv-arch-test/riscv-test-suite/rv64i_m/M/src/div-01.S

/scratch/git-repo/github/riscv-arch-test/riscv-test-suite/rv64i_m/M/src/divu-01.S:
  work_dir: /scratch/git-repo/incoresemi/temp/riscof_work/src/divu-01.S
  macros:
  - TEST_CASE_1=True
  - XLEN=64
  isa: RV64IM
  coverage_labels:
  - divu
  test_path: /scratch/git-repo/github/riscv-arch-test/riscv-test-suite/rv64i_m/M/src/divu-01.S

/scratch/git-repo/github/riscv-arch-test/riscv-test-suite/rv64i_m/M/src/divuw-01.S:
  work_dir: /scratch/git-repo/incoresemi/temp/riscof_work/src/divuw-01.S
  macros:
  - TEST_CASE_1=True
  - XLEN=64
  isa: RV64IM
  coverage_labels:
  - divuw
  test_path: /scratch/git-repo/github/riscv-arch-test/riscv-test-suite/rv64i_m/M/src/divuw-01.S

...
...
...