[Tutor] Unittest not running all test cases

2006-04-07 Thread Carroll, Barry
Greetings:

I'm not certain this is the right forum for this question.  If not, please 
point me to the correct one.  

I am using the unittest module to test a package our team is writing.  I 
presently have three modules of test cases and a top level module to run the 
entire suite.  The hierarchy looks like this:

testsymgen  top level
testsymc39  61 test cases
testsym2544 test cases
testsymc93  0 test cases (so far)

testsymgen is a very simple file.  Here it is:


import unittest
from testsymc39 import *
from testsym25 import *
from testsymc93 import *


if __name__=='__main__':
unittest.main( )


Each of the sub-modules runs correctly, but when I run testsymgen, only 99 test 
cases are executed.  Can anyone tell me why this should happen.  Is there some 
sort of limit on the number of test cases that can be run in a batch?

Thanks in advance for your help.

Regards,

Barry



Regards,
 
Barry
[EMAIL PROTECTED]
541-302-1107

We who cut mere stones must always be envisioning cathedrals.
-Quarry worker's creed


___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Unittest not running all test cases

2006-04-07 Thread Kent Johnson
Carroll, Barry wrote:
 Greetings:
 
 I'm not certain this is the right forum for this question. If not,
please point me to the correct one.
 
 I am using the unittest module to test a package our team is writing.
 
I presently have three modules of test cases and a top level module to
run the entire suite. The hierarchy looks like this:

 testsymgen  top level
 testsymc39  61 test cases
 testsym2544 test cases
 testsymc93  0 test cases (so far)
 
 testsymgen is a very simple file.  Here it is:
 
 import unittest
 from testsymc39 import *
 from testsym25 import *
 from testsymc93 import *
 
 
 if __name__=='__main__':
 unittest.main( )
 
 Each of the sub-modules runs correctly, but when I run testsymgen,
only 99 test cases are executed. Can anyone tell me why this should
happen. Is there some sort of limit on the number of test cases that can
be run in a batch?

I don't think there is a limit like this. I wonder, do you have any name 
collisions? For example if testsymc39 and testsym25 both contain class 
TestSym then only the second one will run because it will shadow the 
name from the first module.

If this is the case you need a more sophisticated way of accumulating 
tests. You might want to look into using nose or one of the other 
test-discovery frameworks listed here:
http://pycheesecake.org/wiki/PythonTestingToolsTaxonomy#UnitTestingTools

Kent

___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Unittest not running all test cases

2006-04-07 Thread Carroll, Barry
Kent:

I just rechecked my class names, and there are no duplicates.  I was
careful to preface all of the classes in testsymc39 with 'C39...', and
used 'S25...' in testsym25.  Likewise, the classes in each module have
names that describe the type of data being tested, so names are unique
within each module as well.  

Is there a maximum length for class names?  Some of my class names are
pretty long, and only differ in the last few characters.  I'd be
surprised if that were the case in Python, but I'm short on other ideas.


Thanks for your help.  

Regards,
 
Barry
[EMAIL PROTECTED]
541-302-1107

We who cut mere stones must always be envisioning cathedrals.

-Quarry worker's creed


 -Original Message-
 Date: Fri, 07 Apr 2006 15:42:15 -0400
 From: Kent Johnson [EMAIL PROTECTED]
 Subject: Re: [Tutor] Unittest not running all test cases
 Cc: tutor@python.org
 Message-ID: [EMAIL PROTECTED]
 Content-Type: text/plain; charset=ISO-8859-1; format=flowed
 

snip

 
 I don't think there is a limit like this. I wonder, do you have any
name
 collisions? For example if testsymc39 and testsym25 both contain class
 TestSym then only the second one will run because it will shadow the
 name from the first module.
 
 If this is the case you need a more sophisticated way of accumulating
 tests. You might want to look into using nose or one of the other
 test-discovery frameworks listed here:

http://pycheesecake.org/wiki/PythonTestingToolsTaxonomy#UnitTestingTools
 
 Kent

___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Unittest not running all test cases

2006-04-07 Thread Carroll, Barry
Kent:

 -Original Message-
 From: Kent Johnson [mailto:[EMAIL PROTECTED]
 Sent: Friday, April 07, 2006 3:59 PM
 To: Carroll, Barry
 Subject: Re: [Tutor] Unittest not running all test cases
 
 Carroll, Barry wrote:
  Kent:
 
  I just rechecked my class names, and there are no duplicates.  I was
  careful to preface all of the classes in testsymc39 with 'C39...',
and
  used 'S25...' in testsym25.  Likewise, the classes in each module
have
  names that describe the type of data being tested, so names are
unique
  within each module as well.
 
  Is there a maximum length for class names?  Some of my class names
are
  pretty long, and only differ in the last few characters.  I'd be
  surprised if that were the case in Python, but I'm short on other
ideas.
 
 I don't know of any limits on class names. They are just strings in
 dictionaries after all.
 
 Try running your tests in verbose mode, you should at least be able to
 figure out which ones aren't running. Try
 
  unittest.main(argv=['', '-v'])
 
 Kent
 

I tried your suggestion.  Lo and behold, all the test cases ran! So I
tried the terse mode again.  All the test cases STILL ran!  So the
problem has vanished without a trace.  Or a good reason.  

Having a problem just disappear like that bothers me almost more than
the original problem.  (It's also a little embarrassing.) =8^(  

Anyway, thanks for your help.  

Regards,
 
Barry
[EMAIL PROTECTED]
541-302-1107

We who cut mere stones must always be envisioning cathedrals.

-Quarry worker's creed

___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor