DPU, as I’ve mentioned casually, is a testing framework for Debian tools.
I’ll expand a bit more about what DPU does, what it’s going to be used for, and how it can help you (yes, you!) create tools to work with Debian packages.
Firstly, DPU is a test framework. It’s sole purpose is only to run tests, and give each test a pass / fail grade. The test syntax will be as declarative and simple as one can keep such things, and tries to do the right thing(tm).
It’s not currently stable, but it’s getting there.
DPU aims to replace Lintian’s test suite, and clean up the tests to make them a bit more declarative, and less hackish.
At it’s core, DPU uses a templating system (using Jinja2) to render out a policy-perfect Debian source directory, including (if needed) any number of “fake” Upstream files, such as “Hello World!” in Shell (for arch:all), in C (for arch:any), and so forth.
DPU tests mangle (slightly) the files before a run — simple stuff like removing a manpage, or adding a file where it shouldn’t be.
After the builder builds the package (with any of the global or test-local builders), any number of checkers (again, global or local) are run, and output compared.
This is the part that’s currently undergoing work, but the basics are alive, and an example test directory is on my github.
Everything’s in Python, and new contributors are welcome!