Status: Accepted
Owner: ----
Labels: Type-Defect Priority-High Target-2.6

New issue 532 by pekka.klarck: Variables should not leak to lower level keywords
http://code.google.com/p/robotframework/issues/detail?id=532

Currently this is passes:

***Test Case***
Example
  ${x}=  Set Variable  hello
  My keyword

***Keywords***
My keyword
  Should be equal  ${x}  hello
  ${y}=  Set Variable  world
  Second keyword
Second Keyword
  Should be equal  ${x}  hello
  Should be equal  ${y}  world


This has definitely definitely been a bad design decision, and a person who
has designed it years ago I can call it a bug rather than a feature.
Instead of variables leaking to lower level keywords like this, they should
be passed as argument or, in special cases, set explicitly using Set Test
Variable keyword.

Even though this is a mis-feature, we cannot remove it without deprecating
first it because existing tests may depend on it. Unfortunately the current
variable implementation is so naïve that deprecation cannot be easily done
without larger changes that don't fit into RF 2.5 scope. We thus probably
need to deprecate this in 2.6 and remove fully in 2.7.

Unfortunately RF 2.5 has already now too much content so 2.6 is the
earliest version where we can fix this. Even more unfortunately we cannot
just remove this mis-feature because existing tests may use it. We should
at least

--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings

Reply via email to