On 2010-08-05, at 2:28 PM, holger krekel wrote:

> On Thu, Aug 05, 2010 at 14:24 -0700, Sridhar Ratnakumar wrote:
>> On 8/5/2010 2:06 PM, holger krekel wrote:
>>> On Thu, Aug 05, 2010 at 13:46 -0700, Sridhar Ratnakumar wrote:
>>>>> I am trying to run py.test on a given module object dynamically.
>>>>> 
>>>>>       mod = __import__('company.foo.somemod')
>>>>>       py.test.run(mod)
>>>>> 
>>>>> A quick glance in the py.test source doesn't seem like a trivial thing.
>>>>> IPython introspection did not give me any clue either.
>>>>> 
>>>>> Is there a way to do this at all? I did try
>>>>> py.test.cmdline.main(['...']), but that accepts only file path, not the
>>>>> Python module object itself.
>>> there currently is no direct support for running tests in python modules.
>>> py.test basically always starts from the file system. Does it help you
>>> to try to fish the file from somemod.__file__ and pass this to 
>>> cmdline.main()?
>>> You only expect it to collect tests of a single module, right?
>>> I guess we could add some more direct support for this if
>>> you continue to have the need (please create an issue if so).
>> 
>> Hmm, __file__ is a workaround, but it seems to work fine for my use  
>> case. I was just wondering if an API was exposed.
>> 
>> I am happy with __file__ for now.
> 
> What do you think about automating this lookup and allowing
> 
>    py.test.cmdline.main([module])
> 
> maybe that's enough? 


That might have helped, but then - just now, I rewrote some routines in my code 
to simply rely on .py file paths instead of modules. This simplified the code a 
bit. So now I have come to prefer file paths. :-) If I ever have the need for 
running tests on module/class/collection-of-funcs objects, I will be sure to 
open a feature request. Thanks.

-srid

_______________________________________________
py-dev mailing list
py-dev@codespeak.net
http://codespeak.net/mailman/listinfo/py-dev

Reply via email to