From 2937d00329ec9fbd632ffdd9265183919172905d Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Thu, 24 Mar 2022 07:41:47 +0200 Subject: feat: add "file doesn't contain" step to lib/files, Python and Rust Sponsored-by: author --- share/common/lib/files.yaml | 8 ++++++++ share/python/lib/files.py | 8 ++++++++ 2 files changed, 16 insertions(+) (limited to 'share') diff --git a/share/common/lib/files.yaml b/share/common/lib/files.yaml index cf85cfa..e4d9b6b 100644 --- a/share/common/lib/files.yaml +++ b/share/common/lib/files.yaml @@ -174,6 +174,14 @@ python: function: files_file_contains +- then: file (?P\S+) doesn't contain "(?P.*)" + regex: true + impl: + rust: + function: subplotlib::steplibrary::files::file_doesnt_contain + python: + function: files_file_doesnt_contain + - then: file (?P\S+) matches regex /(?P.*)/ regex: true impl: diff --git a/share/python/lib/files.py b/share/python/lib/files.py index fe94ed2..3ea5877 100644 --- a/share/python/lib/files.py +++ b/share/python/lib/files.py @@ -85,6 +85,14 @@ def files_file_contains(ctx, filename=None, data=None): assert_eq(data in actual, True) +def files_file_doesnt_contain(ctx, filename=None, data=None): + assert_eq = globals()["assert_eq"] + with open(filename, "rb") as f: + actual = f.read() + actual = actual.decode("UTF-8") + assert_eq(data in actual, False) + + def files_file_matches_regex(ctx, filename=None, regex=None): assert_eq = globals()["assert_eq"] with open(filename) as f: -- cgit v1.2.1