Phil Tomson [mailto:ptkwt / aracnet.com] wrote:
> Yes, it's rather odd. Let me try to explain:
>
> I'm making this module that allows one to describe & simulate
> hardware in Ruby (RHDL). Now, in mainstream Hardware
> Description Languages(HDL) the designer will design the
> hardware model and then make something called a Testbench
> which is also written in the HDL. The Testbench is used to
> determine if the model of the hardware being described is
> functionally correct. This is in some sense similar to the
> concept of Unit testing in the software world. In a
> testbench you test the value of certain signals at certain
> times and if they don't match what you expect you can assert an error.
>
> So my idea was that if Test::Unit was mixed in, the design
> would contain the testbench as well. Perhaps it doesn't make
> much sense, though. I can certainly live with the current
> way of doing it, but the potential advantage of the other is
> that I could put asserts within the actual design itself and
> have their pass/fail status be tracked as well.
I wonder if it would be enough to simply include Test::Unit::Assertions
(which is already a module)? Then you could use the assertions in the
TestBench code, and wrap the running of the TestBench in a rescue for
Test::Unit::AssertionFailedError. You don't get all of the test running
stuff, but it seems like the running of a TestBench is probably
different than the running of a TestCase (although that's just a guess).
Would that work?
Nathaniel
<:((><
+ - -
| RoleModel Software, Inc.
| EQUIP VI