Metadata-Version: 1.0
Name: nose-progressive
Version: 0.2
Summary: Nose plugin to show progress bar and tracebacks during tests
Home-page: UNKNOWN
Author: Erik Rose
Author-email: erikrose@grinchcentral.com
License: GPL
Description: ================
        Nose Progressive
        ================
        
        Nose Progressive is a nose_ plugin which displays progress in a stationary
        progress bar, freeing the rest of the screen (as well as the scrollback buffer)
        for the compact display of test failures. It displays failures and errors as
        soon as they occur and avoids scrolling them off the screen in favor of less
        useful output.
        
        .. _nose: http://somethingaboutorange.com/mrl/projects/nose/
        
        The governing philosophy of Nose Progressive is to get useful information onto
        the screen as soon as possible and keep it there as long as possible while
        still indicating progress.
        
        Features
        ========
        
        * Indicate progress in a stationary progress bar rather than scrolling useful
          tracebacks off the screen or spacing them out with dots and cruft.
        * Show tracebacks as soon as they occur rather than waiting until the bitter
          end. Strip the "Traceback (most recent call last):" off tracebacks so they
          take less space.
        * Identify failed tests in a format that can be fed back to nose, so it's easy
          to re-run them.
        * Print a filesystem path complete with vi-style line number, so you can paste
          it to the commandline and be taken straight to the bug in your editor.
        * Work great with Django via django-nose_ (of course).
        
        .. _django-nose: https://github.com/jbalogh/django-nose
        
        Installation
        ============
        
        ::
        
          pip install nose-progressive
        
        Or, to get the bleeding-edge, unreleased version::
        
          pip install -e \
            git://github.com/erikrose/nose-progressive.git#egg=nose-progressive
        
        Use
        ===
        
        ::
        
          nosetests --with-progressive
        
        Example
        =======
        
        The following doesn't quite do it justice; in an actual terminal, the 2
        pathname lines after FAIL or ERROR are **bold** to aid visual chunking, and the
        progress bar at the bottom is bold as well::
        
          % nosetests --with-progressive
          
          FAIL: kitsune.apps.notifications.tests.test_events:MailTests.test_anonymous
                apps/notifications/tests/test_events.py +31
            File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/unittest.py", line 279, in run
              testMethod()
            File "/Users/erose/Checkouts/kitsune/../kitsune/apps/notifications/tests/test_events.py", line 361, in test_anonymous
              eq_(1, len(mail.outbox))
            File "/Users/erose/Checkouts/kitsune/vendor/packages/nose/nose/tools.py", line 31, in eq_
              assert a == b, msg or "%r != %r" % (a, b)
          AssertionError
        
          ERROR: kitsune.apps.questions.tests.test_templates:TemplateTestCase.test_woo
                 apps/questions/tests/test_templates.py +494
            File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/unittest.py", line 279, in run
              testMethod()
            File "/Users/erose/Checkouts/kitsune/vendor/packages/mock/mock.py", line 196, in patched
              return func(*args, **keywargs)
            File "/Users/erose/Checkouts/kitsune/../kitsune/apps/questions/tests/test_templates.py", line 494, in test_woo
              attrs_eq(mail.outbox[0], to=['some@bo.dy'],
          IndexError: list index out of range
        
          ns.tests.test_templates:TaggingViewTestsAsAdmin.test_add_new_canonicalizes.test_add_new_canonicalizes  [===========-  ]
        
        Caveats and known bugs
        ======================
        
        * Skipped tests get counted in Python 2.6, but they don't get printed. I
          consider skips something to be discouraged, so I plan to fix this.
        * Tests which themselves write to stderr will smear bits of the progress bar
          upward if they don't print complete lines. I hope to fix this with some
          monkeypatching, but in the meantime, passing ``--logging-clear-handlers``
          fixes most of these in practice.
        * I haven't tried this in anything but Python 2.6. Bug reports are welcome!
        * No tests yet. Ironic? :-)
        
        Got more? Pop over to the `issue tracker`_.
        
        .. _`issue tracker`: https://github.com/erikrose/nose-progressive/issues
        
        Future plans
        ============
        
        * Commandline switches for every little thing
        
        Kudos
        =====
        
        Thanks to Kumar McMillan for his nose-nicedots_ plugin, which provided
        inspiration and starting points for the path formatting. Thanks to my
        support.mozilla.com teammates for writing so many tests that this became
        necessary.
        
        .. _nose-nicedots: https://github.com/kumar303/nose-nicedots
        
        Version history
        ===============
        
        0.2
          * Real progress bar!
          * Don't crash at the end when ``--no-skips`` is passed.
          * Print the exception, not just the traceback. That's kind of important. :-)
          * Don't crash when a requested test doesn't exist.
        
        0.1.2
          * More documentation tweaks. Package ``long_description`` now contains README.
        
        0.1.1
          * Add instructions for installing without git.
          * Change package name in readme to the hypenated one. No behavior changes.
        
        0.1
          * Initial release
        
Platform: UNKNOWN
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Testing
