I gotta get this one off my chest. This isn't the first time this has happened, but today it strikes me as an example of the zeitgeist around here.
I've been having a lot of trouble with our testbenches. Testbenches are programs created to test the chips we produce. I design (parts of) the chip and the testbench tests it to try to catch bugs I/we introduce during our design.
Me: These testbenches are driving me nuts becuase they keep failing for reasons that have nothing to do with the chip.
Test Guy: Well, if that test keeps failing, just change the design of the chip to make the test pass.
Me: Whaa? You gotta be kidding me. The whole purpose of the testbench is to make sure our released design works.
Test Guy: No, no. You don't understand. You change your design to get the testbench to work, then change it back afterwards.
Me: That suggestion is wrong on *so* many levels.
- We wouldn't be testing the released code, but different, changed code.
- What if we make a mistake in changing the code back and in the process *introduce* a bug?
- Why the hell don't we just *fix the freakin' testbench*???!?!?!?
The list goes on.
So Test Guy goes tries again to explain to me how its only temporary and a whole lot less trouble than trying to fix the testbench.
This is what I work with.
Lord help us.