I can't use unit tests for some parts of code so I'm falling back to regression tests. I would like to check whether my program behaves in the same way after some modifications. And by behaviour I mean mostly a state of data structures. So far I was serializing them into human readable text format and dumped to some files in the first run. Then in the next dumps I could compare whether the state changed or not. And update it if the change comes from a new feature and not from a bug.
I could use a library (C++) to organize all that. Do you know any? Together with dump files it would provide a cheap, massive unit-test.
The most cumbersome thing are the serialization procedures. Sometimes I just dump memory state, but when it is different it's hard to reverse engineer. So I moved to another method. Now, during the compare phase I read a memory dump into a "phantom" object and run a specialized diff method (operator== with rich error reporting), which sometimes is easier to write than serializing to human readable text format.
Basically I feel like reinventing the wheel, so my questions are quite general:
How do you perform regression testing (if you do)?
Do you use any library/toolkit?
Have you ever implemented one for your own needs?
And just out of curiosity:
Have you ever wanted to do regression testing, but something stopped you?