- given: a file {filename} containing "{data:text}"
  function: create_file_with_given_data

- given: "a file {filename} containing some random data"
  function: create_file_with_random_data

- given: "a Unix socket {filename}"
  function: create_unix_socket

- given: "a named pipe {filename}"
  function: create_fifo

- given: "a file in {dirname} with a non-UTF8 filename"
  function: create_nonutf8_filename

- given: file {filename} has mode {mode}
  function: chmod_file

- given: symbolink link {linkname} that points at {target}
  function: create_symlink

- given: a manifest of the directory {dirname} in {manifest}
  function: create_manifest_of_live

- given: a manifest of the directory {dirname} restored in {restored} in {manifest}
  function: create_manifest_of_restored

- given: "JSON file {json_name} converted from YAML file {yaml_name}"
  function: convert_yaml_to_json

- then: "stdout, as JSON, matches file {filename}"
  function: match_stdout_to_json_file

- then: "file {filename} is restored to {restored}"
  function: file_is_restored

- then: "file {filename} is not restored to {restored}"
  function: file_is_not_restored

- then: "manifests {expected} and {actual} match"
  function: manifests_match
