public
Description: autotest-like plugin for nosetests
Homepage:
Clone URL: git://github.com/gfxmonk/autonose.git
gfxmonk (author)
Mon Aug 24 19:08:36 -0700 2009
commit  21bc2765ebe74358f373ed9f235b3de5e350bf02
tree    12ab8de67689a81e87caf77e44016ecfb416706b
parent  fdde6f4128fa79851101d1c6fb800967e9f7597e
name age message
file .gitignore Mon Jun 15 20:13:39 -0700 2009 gtk app beginnings [tim]
file MANIFEST.in Loading commit data...
file Makefile
directory autonose/
file nose.cfg Sat May 23 20:40:56 -0700 2009 added basic UI for console operation now runnin... [gfxmonk]
file readme.md
file setup.py
directory test/
readme.md

Autonose

Autonose is an autotest-like tool for python, using the excellent nosetest library.

autotest tracks filesystem changes and automatically re-run any changed tests or dependencies whenever a file is added, removed or updated. A file counts as changed if it has iself been modified, or if any file it imports has changed.

Using it:

$ easy_install autonose
autonose

It's really that simple. try autonose --help for configuration options.

Autonose currently has a native GUI for OSX and GTK. If neither of those are available to you, you can instead run the console version (with the --console option).

Here's the obligatory screenshot of autonose in action: Autonose running on OSX

.. but the real magic happens when you have autonose running while modifying your tests / code.

Advanced use:

nosetests has a lot of options and plugins. autonose tries to work as best it can with them, but be warned that some plugins will interfere with autonose (particularly any that do their own output or manage test results).

However, you can pass any options you want to nose by prefixing them with -x, or by using --config=nose.cfg if you have a config file. (e.g. to turn on doctest, you should pass -x--with-doctest to autonose)

Current Status

Autotest does not (currently):

  • understand dynamic imports (use of __import__)
  • track any file types other than .py
  • detect filesystem changes instantly (inotify-style). This is not an issue for small codebases, but could be for larger ones.

All of these points are at various stages of being worked on; see the github issues page for the status on these (and many more!) enhancements.