dburrows/ projects/ aptitude/ todo/ entry/ Easy resolver test case generation

Currently, the resolver is pretty much untested. Some of the core code has a few basic verifications that are run by make check, but much of the interesting stuff comes in from the interplay between the apt layer and the low-level resolver layer. This means that we have no way of knowing what impact changes to resolver behavior and weights have in the real world. It would be much better to have a corpus of well-defined resolver inputs with well-defined expected outputs.

The problem is that it's not easy to generate automatically checkable test cases for the resolver. The input to the resolver is, essentially, the entire apt state directory, the dpkg state file, and all the configuration files for apt. This is way too much information to dump into tests/ in the source repository.

However, I believe this problem is solvable. I have written code that can take the apt and dpkg state, strip out all packages except the ones that impacted a particular resolver run, and write the result to a directory in a format compatible with aptitude-run-state-bundle. Remaining tasks: