[issue1207] Load tests from path (patch included)

2009-06-02 Thread Michael Foord

Michael Foord mich...@voidspace.org.uk added the comment:

Similar functionality is now in TestLoader.discover.

--
resolution:  - rejected
status: open - closed

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue1207
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1207] Load tests from path (patch included)

2009-05-12 Thread Michael Foord

Michael Foord mich...@voidspace.org.uk added the comment:

See issue 6001 for a patch implementing test discovery for unittest.

It would allow you to do:

python -m unittest discover

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue1207
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1207] Load tests from path (patch included)

2009-04-26 Thread Michael Foord

Michael Foord mich...@voidspace.org.uk added the comment:

I'm intending to implement loadTestsFromPackage which will do a
*similar* job. As well as allowing test autodiscovery it will allow for
customizing test loading from modules / packages using a protocol
thrashed out on the Testing in Python mailing list.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue1207
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1207] Load tests from path (patch included)

2009-04-25 Thread Daniel Diniz

Changes by Daniel Diniz aja...@gmail.com:


--
nosy: +michael.foord
stage:  - test needed
versions: +Python 2.7, Python 3.1 -Python 2.5

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue1207
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1207] Load tests from path (patch included)

2008-03-17 Thread Sean Reifschneider

Sean Reifschneider [EMAIL PROTECTED] added the comment:

Patch is inline.

A few notes for submitter:

This also needs to include a documentation patch before it can be accepted.

Please format the docstring for a line length of 78 characters or less.

Ideally, please submit a diff -c style patch as an attachment.

Please discuss this approach on python-dev and/or with Steve Purcell
(copied).

--
assignee:  - purcell
keywords: +patch
nosy: +jafo, purcell
priority:  - normal

__
Tracker [EMAIL PROTECTED]
http://bugs.python.org/issue1207
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1207] Load tests from path (patch included)

2007-09-26 Thread Bluebird

New submission from Bluebird:

Something very nice about unittest is that it can find automatically the
TestCase that you declare, and the test methods of every test case. This
makes the operation of adding or removing tests very simple.

For test modules however, there is nothing to automatically load all the
modules of a given directory. I think that would be very helpful.

Here is my proposal, to add to the set of TestLoader methods:


def loadTestsFromPath( path='', filePattern='test*.py' ):
'''Load all the TestCase in all the module of the given path.

path: directory containing test files
filePattern: glob pattern to find test modules inside path. Default
is test*.py

The path will be converted into an import statement so anything that
can not be imported will
not work.  The path must be relative to the current directory, and
can not include '.' and '..'
directories.

To simply load all the test files of the current directories, pass
an empty path (the default).

Return a test suite containing all the tests.
'''

if len(path) == 0:
pathPattern = filePattern
else:
pathPattern = path + '/' + filePattern
pathPattern = os.path.normpath( pathPattern )
fileList = glob.glob( pathPattern )

mainSuite = TestSuite()
for f in fileList:
importName = f[:-3]
importName = importName.replace( '\\', '.' )
importName = importName.replace( '/', '.' )

suite = defaultTestLoader.loadTestsFromName(importName)
mainSuite._tests.extend( suite._tests )

return mainSuite
===

I use it like this: on my project, I have the following directory
organisation:

vy
  + run_all_tests.py
  + tests
 - run_tests.py
 - test_xxx.py
 - test_yyy.py
  + libvy
 + tests
- run_tests.py
- test_xxx.py
- test_yyy.py
  + qvy
+ tests
- run_tests.py
- test_xxx.py
- test_yyy.py

 
I can do either:
- cd libvy/tests  python run_tests.py
- cd qvy/tests  python run_tests.py
- cd tests  python run_tests.py
- run_all_tests.py

Each time I add a new test module, it is automatically picked up by the
test runners thank to the loadFromPath() feature. It makes it easy to
maintain the global test suite that runs all the tests. That's the most
important one because that test suite is responsible for non regression.

run_tests.py:
=
if __name__ == '__main__':
mainSuite = TestSuite()
mainSuite._tests.extend( loadTestsFromPath('.')._tests )
ttr = TextTestRunner(verbosity=2)
ttr.run( mainSuite )

run_all_tests.py:
=
if __name__ == '__main__':
mainSuite = TestSuite()
mainSuite._tests.extend( loadTestsFromPath( 'libvy/tests' )._tests )
mainSuite._tests.extend( loadTestsFromPath( 'qvy/tests' )._tests )
mainSuite._tests.extend( loadTestsFromPath( 'tests' )._tests )
ttr = TextTestRunner(verbosity=2)
ttr.run( mainSuite )

--
components: Tests
messages: 56148
nosy: bluebird
severity: normal
status: open
title: Load tests from path (patch included)
type: rfe
versions: Python 2.5

__
Tracker [EMAIL PROTECTED]
http://bugs.python.org/issue1207
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com