This is the test suite directory for my source version management system.

SVMS Test Suite

SVMS has a test suite. This rather unual for a piece of software that is likely to be only used by one person (me) in the near future. The reason why SVMS has a test suite is because I have become a big fan of writing test cases for a software feature before before I write the code that implements the feature. The result of this strategy is that I wind up with some excellent test cases for no real extra effort on my part. As the project evolves, I am slowly but surely constructing a fairly conprehensive test suite for it that tests most of the nooks and crannys in the code. Also, when I accidently break some feature that has been previously implemented and debugged, I discover the breakage rather quickly. In general, I find that it is much easier to fix the accidental breakage immediately while the code is fresh in my brain than some arbitrary time in the future when I discover the accidental breakage. All-in-all, I find the strategy of codeveloping a test suite with the code to be more productive in the long run.

Currently, all of the SVMS test cases are all kept in one big recursive Makefile. (While this will probably change sometime in the future, it is good enough for now.) Each test case has a `golden file' output file with a suffix of .ok that specifies the correct results of the test. The Makfile actually runs each test case through a filter that converts some fragile patterns (like timestamps) into constants so that the golden files can be compared with a simple call to cmp. Like most Makefile's, the some portions of the Makefile are not all that easy to read.

The `golden files' are available.


Copyright (c) 1995, 1996, 1997, 1998 by Wayne C. Gramlich. All rights reserved.