public
Description: autotest-like plugin for nosetests
Homepage:
Clone URL: git://github.com/gfxmonk/autonose.git
name age message
file .gitignore Mon Jun 15 20:13:39 -0700 2009 gtk app beginnings [tim]
file MANIFEST.in Fri Jun 26 21:02:14 -0700 2009 minor bug fixes - fixed bug in runner when ui.... [gfxmonk]
file Makefile Sun Jun 21 03:29:57 -0700 2009 minor [gfxmonk]
directory autonose/ Tue Oct 27 15:19:50 -0700 2009 More strftime updates for minute. [Roberto Aguilar]
file nose.cfg Sat May 23 20:40:56 -0700 2009 added basic UI for console operation now runnin... [gfxmonk]
file readme.md Wed Jun 24 05:16:39 -0700 2009 ironed out some distribution issues with easy_i... [gfxmonk]
file setup.py Fri Oct 09 05:30:41 -0700 2009 fixed up old noseXML dependency - using my own... [gfxmonk]
directory test/ Wed Oct 07 01:47:39 -0700 2009 add --all argument to never filter test results... [gfxmonk]
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.