summaryrefslogtreecommitdiff
path: root/share/common/lib/files.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'share/common/lib/files.yaml')
-rw-r--r--share/common/lib/files.yaml124
1 files changed, 114 insertions, 10 deletions
diff --git a/share/common/lib/files.yaml b/share/common/lib/files.yaml
index e4d9b6b..689a5f3 100644
--- a/share/common/lib/files.yaml
+++ b/share/common/lib/files.yaml
@@ -10,6 +10,9 @@
function: files_create_from_embedded
types:
embedded_file: file
+ doc: |
+ Create a file on disk from an embedded file in the subplot
+ document. The created file has the same name as the embedded file.
- given: file {filename_on_disk} from {embedded_file}
impl:
@@ -18,15 +21,23 @@
python:
function: files_create_from_embedded_with_other_name
types:
+ filename_on_disk: path
embedded_file: file
+ doc: |
+ Create a file on disk from an embedded file in the subplot
+ document. Set the name of the created file.
-- when: I write "(?P<text>.*)" to file (?P<filename>\S+)
- regex: true
+- when: I write "{text}" to file {filename}
impl:
rust:
function: subplotlib::steplibrary::files::create_from_text
python:
function: files_create_from_text
+ types:
+ filename: path
+ text: text
+ doc: |
+ Create a file on disk with the given content.
# Manage directories (distinct from files).
@@ -36,6 +47,10 @@
function: subplotlib::steplibrary::files::make_directory
python:
function: files_make_directory
+ types:
+ path: path
+ doc: |
+ Create a directory on disk.
- when: I create directory {path}
impl:
@@ -43,6 +58,10 @@
function: subplotlib::steplibrary::files::make_directory
python:
function: files_make_directory
+ types:
+ path: path
+ doc: |
+ Create a directory on disk.
- when: I remove directory {path}
impl:
@@ -50,6 +69,10 @@
function: subplotlib::steplibrary::files::remove_directory
python:
function: files_remove_directory
+ types:
+ path: path
+ doc: |
+ Remove a directory on disk.
- then: directory {path} exists
impl:
@@ -57,6 +80,10 @@
function: subplotlib::steplibrary::files::path_exists
python:
function: files_directory_exists
+ types:
+ path: path
+ doc: |
+ Check that a directory exists.
- then: directory {path} does not exist
impl:
@@ -64,6 +91,10 @@
function: subplotlib::steplibrary::files::path_does_not_exist
python:
function: files_directory_does_not_exist
+ types:
+ path: path
+ doc: |
+ Check that a directory does not exist.
- then: directory {path} is empty
impl:
@@ -71,6 +102,10 @@
function: subplotlib::steplibrary::files::path_is_empty
python:
function: files_directory_is_empty
+ types:
+ path: path
+ doc: |
+ Check that a directory exists and does not contain anything.
- then: directory {path} is not empty
impl:
@@ -78,6 +113,10 @@
function: subplotlib::steplibrary::files::path_is_not_empty
python:
function: files_directory_is_not_empty
+ types:
+ path: path
+ doc: |
+ Check that a directory exists and contains something.
# File metadata management and testing.
@@ -89,7 +128,10 @@
python:
function: files_touch_with_timestamp
types:
+ filename: path
mtime: text
+ doc: |
+ Create a file with specific modification time.
- when: I remember metadata for file {filename}
impl:
@@ -97,6 +139,10 @@
function: subplotlib::steplibrary::files::remember_metadata
python:
function: files_remember_metadata
+ types:
+ filename: path
+ doc: |
+ Remember the metadata of a file.
- when: I touch file {filename}
impl:
@@ -104,6 +150,10 @@
function: subplotlib::steplibrary::files::touch
python:
function: files_touch
+ types:
+ filename: path
+ doc: |
+ Update the modification time of a file to be current time.
- then: file {filename} has same metadata as before
impl:
@@ -111,6 +161,11 @@
function: subplotlib::steplibrary::files::has_remembered_metadata
python:
function: files_has_remembered_metadata
+ types:
+ filename: path
+ doc: |
+ Check that a file has the same metadata as remembered from
+ earlier.
- then: file {filename} has different metadata from before
impl:
@@ -118,6 +173,10 @@
function: subplotlib::steplibrary::files::has_different_metadata
python:
function: files_has_different_metadata
+ types:
+ filename: path
+ doc: |
+ Check that a file metadata has changed from earlier.
- then: file {filename} has changed from before
impl:
@@ -125,6 +184,10 @@
function: subplotlib::steplibrary::files::has_different_metadata
python:
function: files_has_different_metadata
+ types:
+ filename: path
+ doc: |
+ Check that file metadata has changed from before.
- then: file {filename} has a very recent modification time
impl:
@@ -132,6 +195,10 @@
function: subplotlib::steplibrary::files::mtime_is_recent
python:
function: files_mtime_is_recent
+ types:
+ filename: path
+ doc: |
+ Check that file modification time is recent.
- then: file {filename} has a very old modification time
impl:
@@ -139,6 +206,10 @@
function: subplotlib::steplibrary::files::mtime_is_ancient
python:
function: files_mtime_is_ancient
+ types:
+ filename: path
+ doc: |
+ Check that file modification is far in the past.
# Testing file existence.
@@ -148,6 +219,10 @@
function: subplotlib::steplibrary::files::file_exists
python:
function: files_file_exists
+ types:
+ filename: path
+ doc: |
+ Check that a file exist.
- then: file {filename} does not exist
impl:
@@ -155,6 +230,10 @@
function: subplotlib::steplibrary::files::file_does_not_exist
python:
function: files_file_does_not_exist
+ types:
+ filename: path
+ doc: |
+ Check that a file does not exist.
- then: only files (?P<filenames>.+) exist
impl:
@@ -163,40 +242,60 @@
python:
function: files_only_these_exist
regex: true
+ types:
+ filenames: text
+ doc: |
+ Check that the test directory only contains specific files.
# Tests on file content.
-- then: file (?P<filename>\S+) contains "(?P<data>.*)"
- regex: true
+- then: file {filename} contains "{data}"
impl:
rust:
function: subplotlib::steplibrary::files::file_contains
python:
function: files_file_contains
+ types:
+ filename: path
+ data: text
+ doc: |
+ Check that a file contains a string.
-- then: file (?P<filename>\S+) doesn't contain "(?P<data>.*)"
- regex: true
+- then: file {filename} doesn't contain "{data}"
impl:
rust:
function: subplotlib::steplibrary::files::file_doesnt_contain
python:
function: files_file_doesnt_contain
+ types:
+ filename: path
+ data: text
+ doc: |
+ Check that a file does not contain a string.
-- then: file (?P<filename>\S+) matches regex /(?P<regex>.*)/
- regex: true
+- then: file {filename} matches regex /{regex}/
impl:
rust:
function: subplotlib::steplibrary::files::file_matches_regex
python:
function: files_file_matches_regex
+ types:
+ filename: path
+ regex: text
+ doc: |
+ Check that file content matches a regular expression.
-- then: file (?P<filename>\S+) matches regex "(?P<regex>.*)"
- regex: true
+- then: file {filename} matches regex "{regex}"
impl:
rust:
function: subplotlib::steplibrary::files::file_matches_regex
python:
function: files_file_matches_regex
+ types:
+ filename: path
+ regex: text
+ doc: |
+ Check that file content matches a regular expression.
- then: files {filename1} and {filename2} match
impl:
@@ -204,3 +303,8 @@
function: subplotlib::steplibrary::files::file_match
python:
function: files_match
+ types:
+ filename1: path
+ filename2: path
+ doc: |
+ Check that two files have the same content.