Skip to content

Commit

Permalink
Merge pull request #626 from HttpRunner/bugfix
Browse files Browse the repository at this point in the history
Bugfix
  • Loading branch information
debugtalk committed Jun 25, 2019
2 parents 11c8080 + 2ce4fd2 commit 70aff3a
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 11 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
**Bugfixes**

- add wheel in dev packages
- fix exception when teststep name reference former extracted variable

## 2.1.3 (2019-04-24)

Expand Down
10 changes: 7 additions & 3 deletions httprunner/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,13 @@ def test(self):
variables = test_dict.get("variables", {})

if isinstance(test.__doc__, parser.LazyString):
parsed_variables = parser.parse_variables_mapping(variables, ignore=True)
test.__doc__ = parser.parse_lazy_data(
test.__doc__, parsed_variables)
try:
parsed_variables = parser.parse_variables_mapping(variables)
test.__doc__ = parser.parse_lazy_data(
test.__doc__, parsed_variables
)
except exceptions.VariableNotFound:
test.__doc__ = str(test.__doc__)

return test

Expand Down
10 changes: 2 additions & 8 deletions httprunner/parser.py
Original file line number Diff line number Diff line change
Expand Up @@ -675,7 +675,7 @@ def extract_variables(content):
return set()


def parse_variables_mapping(variables_mapping, ignore=False):
def parse_variables_mapping(variables_mapping):
""" eval each prepared variable and function in variables_mapping.
Args:
Expand All @@ -689,8 +689,6 @@ def parse_variables_mapping(variables_mapping, ignore=False):
"c": {"key": LazyString($b)},
"d": [LazyString($a), 3]
}
ignore (bool): If set True, VariableNotFound will be ignored.
This is used when initializing tests.
Returns:
dict: parsed variables_mapping should not contain any variable or function.
Expand Down Expand Up @@ -733,9 +731,6 @@ def parse_variables_mapping(variables_mapping, ignore=False):
# variables_mapping = {"token": LazyString($token)}
# var_name = "key"
# variables_mapping = {"key": [LazyString($key), 2]}
if ignore:
parsed_variables_mapping[var_name] = value
continue
raise exceptions.VariableNotFound(var_name)

if variables:
Expand Down Expand Up @@ -1121,8 +1116,7 @@ def __get_parsed_testsuite_testcases(testcases, testsuite_config, project_mappin
parsed_testcase["config"]["variables"] = overrided_testcase_config_variables

# parse config variables
parsed_config_variables = parse_variables_mapping(
overrided_testcase_config_variables, functions)
parsed_config_variables = parse_variables_mapping(overrided_testcase_config_variables)

# parse parameters
if "parameters" in testcase and testcase["parameters"]:
Expand Down

0 comments on commit 70aff3a

Please sign in to comment.