| | import unittest |
| |
|
| | from ..pass_manager import ( |
| | inplace_wrapper, |
| | PassManager, |
| | these_before_those_pass_constraint, |
| | this_before_that_pass_constraint, |
| | ) |
| |
|
| |
|
| | class TestPassManager(unittest.TestCase): |
| | def test_pass_manager_builder(self) -> None: |
| | passes = [lambda x: 2 * x for _ in range(10)] |
| | pm = PassManager(passes) |
| | pm.validate() |
| |
|
| | def test_this_before_that_pass_constraint(self) -> None: |
| | passes = [lambda x: 2 * x for _ in range(10)] |
| | pm = PassManager(passes) |
| |
|
| | |
| | pm.add_constraint(this_before_that_pass_constraint(passes[-1], passes[0])) |
| |
|
| | self.assertRaises(RuntimeError, pm.validate) |
| |
|
| | def test_these_before_those_pass_constraint(self) -> None: |
| | passes = [lambda x: 2 * x for _ in range(10)] |
| | constraint = these_before_those_pass_constraint(passes[-1], passes[0]) |
| | pm = PassManager( |
| | [inplace_wrapper(p) for p in passes] |
| | ) |
| |
|
| | |
| | pm.add_constraint(constraint) |
| |
|
| | self.assertRaises(RuntimeError, pm.validate) |
| |
|