diff options
author | Christoph Müllner <christoph.muellner@vrull.eu> | 2022-12-16 10:19:21 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-16 10:19:21 +0100 |
commit | 51c73700789f54db7e8c22e5bf1654bcfdd074d0 (patch) | |
tree | 180f22f7ac09f05d29aef8ea804e4bb21d49c184 | |
parent | b410695bc3a4b170dd1ed95fa5519003e28b6b07 (diff) | |
parent | cb8f1a0942dc4195d4d1f0cf353aba69c52d6d93 (diff) | |
download | riscv-gnu-toolchain-51c73700789f54db7e8c22e5bf1654bcfdd074d0.zip riscv-gnu-toolchain-51c73700789f54db7e8c22e5bf1654bcfdd074d0.tar.gz riscv-gnu-toolchain-51c73700789f54db7e8c22e5bf1654bcfdd074d0.tar.bz2 |
Merge pull request #1168 from riscv-collab/march-to-cpu-opt-unittest2023.01.042023.01.032022.12.17
Add unittest to march-to-cpu-opt
-rwxr-xr-x | scripts/march-to-cpu-opt | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/scripts/march-to-cpu-opt b/scripts/march-to-cpu-opt index b2ed288..f85bd26 100755 --- a/scripts/march-to-cpu-opt +++ b/scripts/march-to-cpu-opt @@ -2,6 +2,7 @@ import argparse import sys +import unittest EXT_OPTS = { "zba": "zba=true", @@ -138,8 +139,22 @@ def conver_arch_to_qemu_cpu_opt(march): cpu_opt.append("d=false") return ",".join(cpu_opt) + +class TestArchStringParse(unittest.TestCase): + def _test(self, arch, expected_arch_list, expected_vlen=0): + exts = parse_march(arch) + vlen = get_vlen(exts) + self.assertEqual(expected_vlen, vlen) + self.assertEqual(set(expected_arch_list), set(exts.keys())) + + def test_rv64gc(self): + self._test("rv64gc", ['i', 'm', 'a', 'f', 'd', 'c']) + self._test("rv32imc_zve32x", ['i', 'm', 'c', 'zve32x'], expected_vlen=32) + self._test("rv32imc_zve32x_zvl128b", ['i', 'm', 'c', 'zve32x', 'zvl128b'], expected_vlen=128) + + def selftest(): - print(parse_march("rv64gc")) + unittest.main(argv=sys.argv[1:]) def main(argv): opt = parse_opt(argv) |