Re: [Python-checkins] cpython: #14533: if a test has no test_main, use loadTestsFromModule.

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: [Python-checkins] cpython: #14533: if a test has no test_main, use loadTestsFromModule.

Terry Reedy

On 4/9/2012 9:13 AM, r.david.murray wrote:

> http://hg.python.org/cpython/rev/eff551437abd
> changeset:   76176:eff551437abd
> user:        R David Murray<[hidden email]>
> date:        Mon Apr 09 08:55:42 2012 -0400
> summary:
>    #14533: if a test has no test_main, use loadTestsFromModule.
>
> This moves us further in the direction of using normal unittest facilities
> instead of specialized regrtest ones.  Any test module that can be correctly
> run currently using 'python unittest -m test.test_xxx' can now be converted to
> use normal unittest test loading by simply deleting its test_main, thus no
> longer requiring manual maintenance of the list of tests to run.
...
> +   if __name__ == '__main__':
> +       unittest.main()
>
> -   if __name__ == '__main__':
> -       test_main()

Being on Windows, I sometimes run single tests interactively with

from test import test_xxx as t; t.test_main()

Should t.unittest.main(t.__name__) work as well?
Should this always work even if there is still a test_main?

tjr
_______________________________________________
Python-Dev mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/lists%2B1324100855712-1801473%40n6.nabble.com
Reply | Threaded
Open this post in threaded view
|

Re: [Python-checkins] cpython: #14533: if a test has no test_main, use loadTestsFromModule.

Matt Joiner


On Apr 10, 2012 2:36 AM, "Terry Reedy" <[hidden email]> wrote:
>
>
> On 4/9/2012 9:13 AM, r.david.murray wrote:
>>
>> http://hg.python.org/cpython/rev/eff551437abd
>> changeset:   76176:eff551437abd
>> user:        R David Murray<[hidden email]>
>> date:        Mon Apr 09 08:55:42 2012 -0400
>> summary:
>>   #14533: if a test has no test_main, use loadTestsFromModule.
>>
>> This moves us further in the direction of using normal unittest facilities
>> instead of specialized regrtest ones.  Any test module that can be correctly
>> run currently using 'python unittest -m test.test_xxx' can now be converted to
>> use normal unittest test loading by simply deleting its test_main, thus no
>> longer requiring manual maintenance of the list of tests to run.
>
> ...
>>
>> +   if __name__ == '__main__':
>> +       unittest.main()
>>
>> -   if __name__ == '__main__':
>> -       test_main()
>
>
> Being on Windows, I sometimes run single tests interactively with
>
> from test import test_xxx as t; t.test_main()
>
> Should t.unittest.main(t.__name__) work as well?
> Should this always work even if there is still a test_main?
Both questions have the same answer. Yes, because this is how discovery works.
>
> tjr
> _______________________________________________
> Python-Dev mailing list
> [hidden email]
> http://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: http://mail.python.org/mailman/options/python-dev/anacrolix%40gmail.com


_______________________________________________
Python-Dev mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/lists%2B1324100855712-1801473%40n6.nabble.com
Reply | Threaded
Open this post in threaded view
|

Re: [Python-checkins] cpython: #14533: if a test has no test_main, use loadTestsFromModule.

R. David Murray
In reply to this post by Terry Reedy
On Mon, 09 Apr 2012 13:34:25 -0400, Terry Reedy <[hidden email]> wrote:

>
> On 4/9/2012 9:13 AM, r.david.murray wrote:
> > http://hg.python.org/cpython/rev/eff551437abd
> > changeset:   76176:eff551437abd
> > user:        R David Murray<[hidden email]>
> > date:        Mon Apr 09 08:55:42 2012 -0400
> > summary:
> >    #14533: if a test has no test_main, use loadTestsFromModule.
> >
> > This moves us further in the direction of using normal unittest facilities
> > instead of specialized regrtest ones.  Any test module that can be correctly
> > run currently using 'python unittest -m test.test_xxx' can now be converted to
> > use normal unittest test loading by simply deleting its test_main, thus no
> > longer requiring manual maintenance of the list of tests to run.
> ...
> > +   if __name__ == '__main__':
> > +       unittest.main()
> >
> > -   if __name__ == '__main__':
> > -       test_main()
>
> Being on Windows, I sometimes run single tests interactively with
>
> from test import test_xxx as t; t.test_main()
>
> Should t.unittest.main(t.__name__) work as well?

That will work.

t.unittest.main(t) will also work and is less typing.

> Should this always work even if there is still a test_main?

It will work if and only if the test can be run correctly via './python
-m unittest test.test_xxx'.  Not all test files in Lib/test can be run that
way (though I at least am open to fixing ones that don't work).

--David
_______________________________________________
Python-Dev mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/lists%2B1324100855712-1801473%40n6.nabble.com
Reply | Threaded
Open this post in threaded view
|

Re: [Python-checkins] cpython: #14533: if a test has no test_main, use loadTestsFromModule.

Terry Reedy
On 4/9/2012 3:57 PM, R. David Murray wrote:
> On Mon, 09 Apr 2012 13:34:25 -0400, Terry Reedy<[hidden email]>  wrote:

>> Should t.unittest.main(t.__name__) work as well?
>
> That will work.
>
> t.unittest.main(t) will also work and is less typing.

Good. The only doc for the parameter is "unittest.main(module='__main__',"
with no indication other than the name 'module' that both a module
object or a name is accepted (as with some file object or name interfaces).

>> Should this always work even if there is still a test_main?
>
> It will work if and only if the test can be run correctly via './python
> -m unittest test.test_xxx'.  Not all test files in Lib/test can be run that
> way (though I at least am open to fixing ones that don't work).

One way to again run each would be nice. I will open an issue if I find
any laggards.

--
Terry Jan Reedy

_______________________________________________
Python-Dev mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/lists%2B1324100855712-1801473%40n6.nabble.com