Skip to content

Commit 51c7370

Browse files
authored
Merge pull request #1168 from riscv-collab/march-to-cpu-opt-unittest
Add unittest to march-to-cpu-opt
2 parents b410695 + cb8f1a0 commit 51c7370

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

scripts/march-to-cpu-opt

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import argparse
44
import sys
5+
import unittest
56

67
EXT_OPTS = {
78
"zba": "zba=true",
@@ -138,8 +139,22 @@ def conver_arch_to_qemu_cpu_opt(march):
138139
cpu_opt.append("d=false")
139140
return ",".join(cpu_opt)
140141

142+
143+
class TestArchStringParse(unittest.TestCase):
144+
def _test(self, arch, expected_arch_list, expected_vlen=0):
145+
exts = parse_march(arch)
146+
vlen = get_vlen(exts)
147+
self.assertEqual(expected_vlen, vlen)
148+
self.assertEqual(set(expected_arch_list), set(exts.keys()))
149+
150+
def test_rv64gc(self):
151+
self._test("rv64gc", ['i', 'm', 'a', 'f', 'd', 'c'])
152+
self._test("rv32imc_zve32x", ['i', 'm', 'c', 'zve32x'], expected_vlen=32)
153+
self._test("rv32imc_zve32x_zvl128b", ['i', 'm', 'c', 'zve32x', 'zvl128b'], expected_vlen=128)
154+
155+
141156
def selftest():
142-
print(parse_march("rv64gc"))
157+
unittest.main(argv=sys.argv[1:])
143158

144159
def main(argv):
145160
opt = parse_opt(argv)

0 commit comments

Comments
 (0)