I have a small command-line application (about 6k lines). It has no unit tests because I didn't know how to write them; but I'm retroactively adding some now. I read this tutorial but I'm left puzzled about how to test the whole application using this module; in fact, I'm not even sure if what I want to do is called a "unit test".
Specifically, if I run my application with certain parameters, it is supposed to generate certain output files. I want to make sure those output files are unchanged.
Namely, the following command-line invocations of my application:
main.py config1.txt 100 15
main.py config2.txt def 10 qa
etc.....
create a few small output text files (< 10 MB each) and place them into individual folders (one each per invocation), named such:
output/config1.100.15.201202011733/
output/config2.def.10.qa.201202011733/
etc...
Each folders contains a few small text files (<10MB each). After each iteration of code changes, I'd like to run my application with a few dozen command line parameters, and note any cases where the output files differ. (Ideally, I'd like to do more than that; e.g., for some output files, compare them as tab-separated tables with a certain primary key, so that if row order changed, they will still evaluate as equal; but that's not critical).
What's a good way to set this up?