obnam 0.8.0

a backup program
Documentation
- given: "a working Obnam system"
  impl:
    python:
      function: start_obnam
      cleanup: stop_obnam

- given: "an installed obnam"
  impl:
    python:
      function: install_obnam
      cleanup: uninstall_obnam

- given: "a client config based on {filename}"
  impl:
    python:
      function: configure_client_with_init
  types:
    filename: file

- given: "a client config, without passphrase, based on {filename}"
  impl:
    python:
      function: configure_client_without_init
  types:
    filename: file

- when: "I invoke obnam restore <{genid}> {todir}"
  impl:
    python:
      function: run_obnam_restore

- when: "I invoke obnam get-chunk <{gen_id}>"
  impl:
    python:
      function: run_obnam_get_chunk

- then: "backup generation is {varname}"
  impl:
    python:
      function: capture_generation_id

- then: "generation list contains <{gen_id}>"
  impl:
    python:
      function: generation_list_contains

- then: "file {filename} was backed up because it was new"
  impl:
    python:
      function: file_was_new

- then: "file {filename} was backed up because it was changed"
  impl:
    python:
      function: file_was_changed

- then: "file {filename} was not backed up because it was unchanged"
  impl:
    python:
      function: file_was_unchanged

- then: "stdout matches file {filename}"
  impl:
    python:
      function: stdout_matches_file

- then: "stdout contains home directory followed by {path}"
  impl:
    python:
      function: stdout_contains_home_dir_path