mirror of
https://github.com/YosysHQ/yosys
synced 2025-06-19 12:23:39 +00:00
fix a few bugs in the functional backend and refactor the testing
This commit is contained in:
parent
674e6d201d
commit
6922633b0b
6 changed files with 366 additions and 270 deletions
|
@ -1,14 +1,30 @@
|
|||
import pytest
|
||||
from rtlil_cells import generate_test_cases
|
||||
import random
|
||||
|
||||
random_seed = random.getrandbits(32)
|
||||
|
||||
def pytest_addoption(parser):
|
||||
parser.addoption(
|
||||
"--per-cell", type=int, default=None, help="run only N tests per cell"
|
||||
)
|
||||
parser.addoption("--per-cell", type=int, default=None, help="run only N tests per cell")
|
||||
parser.addoption("--steps", type=int, default=1000, help="run each test for N steps")
|
||||
parser.addoption("--seed", type=int, default=random_seed, help="seed for random number generation, use random seed if unspecified")
|
||||
|
||||
def pytest_collection_finish(session):
|
||||
print('random seed: {}'.format(session.config.getoption("seed")))
|
||||
|
||||
@pytest.fixture
|
||||
def num_steps(request):
|
||||
return request.config.getoption("steps")
|
||||
|
||||
@pytest.fixture
|
||||
def rnd(request):
|
||||
seed1 = request.config.getoption("seed")
|
||||
return lambda seed2: random.Random('{}-{}'.format(seed1, seed2))
|
||||
|
||||
def pytest_generate_tests(metafunc):
|
||||
if "cell" in metafunc.fixturenames:
|
||||
print(dir(metafunc.config))
|
||||
per_cell = metafunc.config.getoption("per_cell", default=None)
|
||||
names, cases = generate_test_cases(per_cell)
|
||||
seed1 = metafunc.config.getoption("seed")
|
||||
rnd = lambda seed2: random.Random('{}-{}'.format(seed1, seed2))
|
||||
names, cases = generate_test_cases(per_cell, rnd)
|
||||
metafunc.parametrize("cell,parameters", cases, ids=names)
|
Loading…
Add table
Add a link
Reference in a new issue