[Python-Dev] unittest argv (original) (raw)
Guido van Rossum guido at python.org
Mon May 1 16:48:04 CEST 2006
- Previous message: [Python-Dev] unittest argv
- Next message: [Python-Dev] unittest argv
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Wouldn't this be an incompatible change? That would make it a no-no. Providing a dummy argv[0] isn't so hard is it?
On 4/30/06, John Keyes <john at integralsource.com> wrote:
Hi,
main() in unittest has an optional parameter called argv. If it is not present in the invocation, it defaults to None. Later in the function a check is made to see if argv is None and if so sets it to sys.argv. I think the default should be changed to sys.argv[1:] (i.e. the command line arguments minus the name of the python file being executed). The parseArgs() function then uses getopt to parse argv. It currently ignores the first item in the argv list, but this causes a problem when it is called from another python function and not from the command line. So using the current code if I call: python mytest.py -v then argv in parseArgs is ['mytest.py', '-v'] But, if I call: unittest.main(module=None, argv=['-v','mytest']) then argv in parseArgs is ['mytest'], as you can see the verbosity option is now gone and cannot be used. Here's a diff to show the code changes I have made: 744c744 < argv=None, testRunner=None, testLoader=defaultTestLoader):_ _---_ _> argv=sys.argv[1:], testRunner=None, testLoader=defaultTestLoader): 751,752d750 < if argv is None:_ _< argv = sys.argv_ _757c755_ _< self.progName = os.path.basename(argv[0])_ _---_ _> # self.progName = os.path.basename(argv[0]) 769c767 < options, args = getopt.getopt(argv[1:], 'hHvq',_ _---_ _> options, args = getopt.getopt(argv, 'hHvq', You may notice I have commented out the self.progName line. This variable is not used anywhere in the module so I guess it could be removed. To keep it then conditional check on argv would have to remain and be moved after the self.progName line. I hope this makes sense, and it's my first post so go easy on me ;) Thanks, -John K
Python-Dev mailing list Python-Dev at python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/guido%40python.org
-- --Guido van Rossum (home page: http://www.python.org/~guido/)
- Previous message: [Python-Dev] unittest argv
- Next message: [Python-Dev] unittest argv
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]