diff options
author | Phil Sutter <phil@nwl.cc> | 2018-08-29 16:33:39 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2018-09-03 13:56:23 +0200 |
commit | 26c85388344e66abab8dda04f6f15963c7ad81d5 (patch) | |
tree | c17f3c4486c0b2e4aea8819e4809478645dfef48 /tests | |
parent | 6460c115e2603ac4e22d84a27a28945e29f9c0ca (diff) |
tests/py: Make nft-test.py a little more robust
When adding a new test, missing payload file causes nft-test.py to choke
due to accessing undeclared variables. Fix this by making sure relevant
variables are declared outside of try-catch blocks.
Signed-off-by: Phil Sutter <phil@nwl.cc>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'tests')
-rwxr-xr-x | tests/py/nft-test.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/tests/py/nft-test.py b/tests/py/nft-test.py index 23f73d50..4e69cd27 100755 --- a/tests/py/nft-test.py +++ b/tests/py/nft-test.py @@ -653,6 +653,9 @@ def payload_check(payload_buffer, file, cmd): file.seek(0, 0) i = 0 + if not payload_buffer: + return False + for lineno, want_line in enumerate(payload_buffer): line = file.readline() @@ -698,11 +701,12 @@ def rule_add(rule, filename, lineno, force_all_family_option, filename_path): return [-1, warning, error, unit_tests] if rule[1].strip() == "ok": + payload_expected = None try: payload_log = open("%s.payload" % filename_path) payload_expected = payload_find_expected(payload_log, rule[0]) except: - payload_expected = None + payload_log = None if enable_json_option: try: @@ -744,7 +748,10 @@ def rule_add(rule, filename, lineno, force_all_family_option, filename_path): payload_log = open("%s.payload.%s" % (filename_path, table.family)) table_payload_expected = payload_find_expected(payload_log, rule[0]) except: - if not payload_expected: + if not payload_log: + print_error("did not find any payload information", + filename_path) + elif not payload_expected: print_error("did not find payload information for " "rule '%s'" % rule[0], payload_log.name, 1) if not table_payload_expected: |