Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > my module and unittest contend over commandline options...

Reply
Thread Tools

my module and unittest contend over commandline options...

 
 
chrisber
Guest
Posts: n/a
 
      05-01-2008
using the unittest module in Python 2.3.5, I've written some test code
that ends up with

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

Since I want to run this code in various environments, I'd initially
added some commandline options, e.g. to specify a configuration file
like so

test.py -c devtest.conf
or
test.py -c localtest.conf

etc.
However, unittest also looks for options on the commandline, and it
was complaining about unrecognized options and quitting.

I've poked around to see if I could delete the options my earlier code
consumed from the commandline buffer, before invoking unittest, but
that seems klugy. Instead, I hardwired in a testing config file name,
that always has to be local. That works pretty well, but it leaves me
wonderfing whether there would have been another clean way to allow
both my test code and unittest to have options without interfering
with one another.
 
Reply With Quote
 
 
 
 
chrisber
Guest
Posts: n/a
 
      05-02-2008
On May 2, 4:54 am, Duncan Booth <(E-Mail Removed)> wrote:
> chrisber<(E-Mail Removed)> wrote:
> > ...it leaves me
> > wonderfing whether there would have been another clean way to allow
> > both my test code and unittest to have options without interfering
> > with one another.

>
> You can pass argv as a parameter to main(), so I think the best bet is
> simply to build up a new argv with the options that you want to pass
> through.


Aha! I scanned through my python 2.4 installataion and found this in
unittest
def __init__(self, module='__main__', defaultTest=None,
argv=None, testRunner=None,
testLoader=defaultTestLoader):
if type(module) == type(''):
self.module = __import__(module)
for part in module.split('.')[1:]:
self.module = getattr(self.module, part)
else:
self.module = module
if argv is None:
argv = sys.argv

so I see what you mean. Thanks.

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Unittest - adding a doctest suite to unittest.main Paul Moore Python 1 10-14-2008 03:32 PM
VOIP over VPN over TCP over WAP over 3G Theo Markettos UK VOIP 2 02-14-2008 03:27 PM
Contend Switch estebangbrown@gmail.com Cisco 0 10-13-2005 10:37 PM
One fixed....new snag to contend with Richard HTML 40 12-19-2004 09:59 PM
One fixed....new snag to contend with Richard Javascript 33 12-19-2004 09:21 PM



Advertisments