13 PYSIZE_EXAMPLE_PATH
= '/tmp/pysize_example_dir'
14 ALL_TESTS
= unittest
.TestSuite()
17 if not os
.path
.exists('/tmp/pysize_example_dir'):
18 os
.mkdir('/tmp/pysize_example_dir')
19 tar
= tarfile
.open('pysize_example_dir.tar.bz2', 'r:bz2')
20 print 'Extracting pysize_example_dir.tar.bz2'
22 tar
.extract(tarinfo
, '/tmp')
26 os
.chmod('/tmp/pysize_example_dir/unreadable_dir', 0700)
27 print 'Removing', PYSIZE_EXAMPLE_PATH
28 shutil
.rmtree(PYSIZE_EXAMPLE_PATH
)
31 py_files
= [p
for p
in os
.listdir('tests') if p
.endswith('.py')]
32 tests
= list(set([p
[:p
.index('.')] for p
in py_files
]))
34 module
= getattr(__import__('tests.' + name
), name
)
35 for test
in module
.TESTS
:
36 suite
= unittest
.defaultTestLoader
.loadTestsFromTestCase(test
)
37 ALL_TESTS
.addTest(suite
)
40 parser
= optparse
.OptionParser()
41 parser
.add_option('--keep', '-k', action
='store_true', dest
='keep',
42 default
=False, help='keep /tmp/pysize_example_dir')
43 parser
.add_option('--coverage', '-c', action
='store_true', dest
='coverage',
44 default
=False, help='include coverage tests')
45 (options
, args
) = parser
.parse_args()
57 for (name
, module
) in sys
.modules
.iteritems():
58 if name
.startswith('pysize.') and module
:
59 path
= '../' + name
.replace('.', '/') + '.py'
60 if os
.path
.exists(path
):
61 modules
.append(module
)
62 coverage
.report(modules
)
66 options
= parse_cmdline()
67 sys
.path
.insert(0, '..')
73 unittest
.main(argv
=[sys
.argv
[0], '-v'], defaultTest
='ALL_TESTS')
80 if __name__
== '__main__':