Revision: 2955
Author: janne.t.harkonen
Date: Tue Apr 13 05:48:02 2010
Log: tracelog user keyword arg values properly
http://code.google.com/p/robotframework/source/detail?r=2955
Modified:
/trunk/src/robot/running/arguments.py
/trunk/src/robot/running/userkeyword.py
=======================================
--- /trunk/src/robot/running/arguments.py Tue Apr 13 02:41:02 2010
+++ /trunk/src/robot/running/arguments.py Tue Apr 13 05:48:02 2010
@@ -199,13 +199,13 @@
self.maxargs = maxargs
self._name = name
- def set_to(self, variables, arguments):
+ def set_to(self, output, variables, arguments):
template_with_defaults = self._template_for(variables)
- template, positional, named = self._fill(template_with_defaults,
arguments, variables)
+ template = self._fill(template_with_defaults, arguments, variables)
self._check_missing_args(template, len(arguments))
self.check_arg_limits(template)
- self._set_variables(variables, template)
- return positional, named
+ argstr = self._set_variables(variables, template)
+ self._tracelog_args(output, argstr)
def _check_missing_args(self, template, arg_count):
for a in template:
@@ -217,11 +217,20 @@
+ variables.replace_list(list(self.defaults))
def _set_variables(self, variables, arg_values):
+ args = []
+ varargstr = ''
if self._vararg:
- variables[self._vararg] = self._get_varargs(arg_values)
+ varargs = self._get_varargs(arg_values)
+ variables[self._vararg] = varargs
+ varargstr = ' | %s=%s' % (self._vararg, varargs)
arg_values = arg_values[:len(self.names)]
for name, value in zip(self.names, arg_values):
+ args.append('%s=%r' % (name, value))
variables[name] = value
+ return ' | '.join(args) + varargstr
+
+ def _tracelog_args(self, logger, argstr):
+ logger.trace('Arguments: [ %s ]' % argstr)
def _fill(self, template, arguments, variables):
arg_resolver = UserKeywordArgumentResolver(self)
@@ -235,7 +244,7 @@
named[name] = replaced
for index, value in enumerate(positional):
template[index] = value
- return template + varargs, positional, named
+ return template + varargs
def _get_varargs(self, args):
return args[len(self.names):]
=======================================
--- /trunk/src/robot/running/userkeyword.py Tue Apr 13 04:33:28 2010
+++ /trunk/src/robot/running/userkeyword.py Tue Apr 13 05:48:02 2010
@@ -137,8 +137,7 @@
namespace.end_user_keyword()
def _run(self, output, namespace, arguments):
- positional, named = self._arguments.set_to(namespace.variables,
arguments)
- self._tracelog_args(output, positional, named)
+ self._arguments.set_to(output, namespace.variables, arguments)
self._verify_keyword_is_valid()
self.timeout.start()
for kw in self.keywords:
--
To unsubscribe, reply using "remove me" as the subject.