A couple of weeks ago I shot an email to the testing-in-python list asking if anyone knew of a nose plugin that could pass test-specific configuration data to the tests themselves. No one had anything - but in true open source spirit, I was volunteered to satisfy my own request.
What I wanted was something simple, fast, and flexible. In fact, I wanted it so flexible as to be completely insecure and dangerous. I wanted to be able to support ConfigParser, YAML and pure Python configuration files.
One of the future goals is to have the configuration file data generated by some management layer responsible for coordinating nose test execution - so something flexible leaves my options open.
I wanted to avoid having a configuration module too out of band of the test execution system itself, but flexible enough to support a variety of data sources. It would be simple to auto-generate configuration from a basic YAML file and a database for example.
So, I hacked a plugin together - I spent most of my time learning a lot about nose internals and mucking around with various configuration languages.
Today, I finally got to upload the fruit of my loom (ha.) to PyPi - behold: nose-testconfig
It's at version 0.3 because I burned a version on learning the magical properties of PyPi uploading. Why my ReST is not parsing for the documentation, I don't know.
Right now, it works - it parses what it should parse, extends nose and I can use it in my tests. This smells like victory! Fear not though! I do plan on adding features/bugfixes as I find them or, better yet, if people point them out/request things.
p.s.: No it's not pep 8 compliant right now. Also, YAML is awesome.
Edit: I've uploaded the code to google-code. I considered launchpad, as I want to try out bzr, but launchpad actually suffers from too many features for something only 104 lines long.