Message46926
I added the possibility for tests using the unittest.py
framework to be skipped. Basically, I added two methods
to TestCase:
TestCase.skip(msg): skips test unconditionally
TestCase.skipIf(expr, msg): skips test if expr is true
These can be called either in setUp() or in the test
methods. I also added reporting of skipped tests to
TestResult, _TextTestResult and TextTestRunner. If no
tests are skipped, everything should be the same as
before.
I am using Python 2.3.3, so the changes are against the
file in that version. I can generate a patch for a more
recent version if desired. I attached the patch against
the original (unittest_skip.patch). I can provide a
complete test suite for the new functionality and a usage
example program.
Quick usage example:
class ReadShadowTest(unittest.TestCase):
"""Read access to /etc/shadow"""
def testReadingAsRoot(self):
"""Reading /etc/shadow as root"""
self.skipIf(os.geteuid() != 0, "Must be root")
open("/etc/shadow").close()
The example program produces the following output:
$ ./SkippedTestDemo.py -v
Access to autoexec.bat ... SKIPPED (Only available on
Windows)
Access to config.sys ... SKIPPED (Only available on
Windows)
Reading /etc/shadow as root ... SKIPPED (Must be root)
Reading /etc/shadow as non-root ... ok
-------------------------------------------------------
---------------
Ran 4 tests in 0.004s
OK (skipped=3) |
|
Date |
User |
Action |
Args |
2007-08-23 15:39:53 | admin | link | issue1034053 messages |
2007-08-23 15:39:53 | admin | create | |
|