Skip to content

Commit 3256326

Browse files
committed
Add chipsalliance/sv-tests to CI
1 parent f6c38d9 commit 3256326

File tree

2 files changed

+62
-0
lines changed

2 files changed

+62
-0
lines changed
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
#!/usr/bin/env python3
2+
# -*- coding: utf-8 -*-
3+
4+
from BaseRunner import BaseRunner
5+
import os
6+
7+
class ebmc(BaseRunner):
8+
def __init__(self):
9+
super().__init__(
10+
'ebmc', 'ebmc', {
11+
'preprocessing', 'parsing', 'elaboration'
12+
})
13+
14+
self.submodule = "third_party/tools/ebmc"
15+
self.url = f"https://github.com/diffblue/hw-cbmc/tree/{self.get_commit()}"
16+
17+
def prepare_run_cb(self, tmp_dir, params):
18+
ofile = 'ebmc.out'
19+
20+
self.cmd = [self.executable]
21+
22+
if params['mode'] == 'preprocessing':
23+
self.cmd.append('--preprocess')
24+
elif params['mode'] == 'parsing':
25+
self.cmd += ['--show-parse']
26+
27+
if params['top_module'] != '':
28+
self.cmd += ['--module', params['top_module']]
29+
30+
for incdir in params['incdirs']:
31+
self.cmd.append('-I' + incdir)
32+
33+
for define in params['defines']:
34+
self.cmd.append('-D' + define)
35+
36+
self.cmd += params['files']
37+
38+
def get_version_cmd(self):
39+
return [self.executable, "--version"]
40+
41+
def get_version(self):
42+
version = super().get_version()
43+
44+
# The full version is the 1st line
45+
version = version.splitlines()[0]
46+
47+
version.insert(0, self.name)
48+
49+
return " ".join(version)
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#!/bin/sh
2+
3+
# abort on error
4+
set -e
5+
6+
# clone sv-tests repo if not done yet
7+
if [ ! -e sv-tests/.git ] ; then
8+
git clone https://github.com/chipsalliance/sv-tests
9+
git checkout cbe02cf550b1345f5b75fee0c85145b1b68f379e
10+
fi
11+
12+
cd sv-tests
13+

0 commit comments

Comments
 (0)