subplot 0.2.0

tools for specifying, documenting, and implementing automated acceptance tests for systems and software
Documentation
# Bindings for the runcmd steplibrary

- given: helper script {script} for runcmd
  function: subplotlib::steplibrary::runcmd::helper_script
  types:
    script: file

- given: srcdir is in the PATH
  function: subplotlib::steplibrary::runcmd::helper_srcdir_path

- when: I run (?P<argv0>\S+)(?P<args>.*)
  regex: true
  function: subplotlib::steplibrary::runcmd::run

- when: I run, in (?P<dirname>\S+), (?P<argv0>\S+)(?P<args>.*)
  regex: true
  function: subplotlib::steplibrary::runcmd::run_in

- when: I try to run (?P<argv0>\S+)(?P<args>.*)
  regex: true
  function: subplotlib::steplibrary::runcmd::try_to_run

- when: I try to run, in (?P<dirname>\S+), (?P<argv0>\S+)(?P<args>.*)
  regex: true
  function: subplotlib::steplibrary::runcmd::try_to_run_in

# Steps to examine exit code of latest command.

- then: exit code is {exit}
  function: subplotlib::steplibrary::runcmd::exit_code_is
  types:
    exit: int

- then: exit code is not {exit}
  function: subplotlib::steplibrary::runcmd::exit_code_is_not
  types:
    exit: int

- then: command is successful
  function: subplotlib::steplibrary::runcmd::exit_code_is_zero

- then: command fails
  function: subplotlib::steplibrary::runcmd::exit_code_is_nonzero

# Steps to examine stdout/stderr for exact content.

- then: stdout is exactly "(?P<text>.*)"
  regex: true
  function: subplotlib::steplibrary::runcmd::stdout_is

- then: 'stdout isn''t exactly "(?P<text>.*)"'
  regex: true
  function: subplotlib::steplibrary::runcmd::stdout_isnt

- then: stderr is exactly "(?P<text>.*)"
  regex: true
  function: subplotlib::steplibrary::runcmd::stderr_is

- then: 'stderr isn''t exactly "(?P<text>.*)"'
  regex: true
  function: subplotlib::steplibrary::runcmd::stderr_isnt

# Steps to examine stdout/stderr for sub-strings.

- then: stdout contains "(?P<text>.*)"
  regex: true
  function: subplotlib::steplibrary::runcmd::stdout_contains

- then: 'stdout doesn''t contain "(?P<text>.*)"'
  regex: true
  function: subplotlib::steplibrary::runcmd::stdout_doesnt_contain

- then: stderr contains "(?P<text>.*)"
  regex: true
  function: subplotlib::steplibrary::runcmd::stderr_contains

- then: 'stderr doesn''t contain "(?P<text>.*)"'
  regex: true
  function: subplotlib::steplibrary::runcmd::stderr_doesnt_contain

# Steps to match stdout/stderr against regular expressions.

- then: stdout matches regex (?P<regex>.*)
  regex: true
  function: subplotlib::steplibrary::runcmd::stdout_matches_regex

- then: stdout doesn't match regex (?P<regex>.*)
  regex: true
  function: subplotlib::steplibrary::runcmd::stdout_doesnt_match_regex

- then: stderr matches regex (?P<regex>.*)
  regex: true
  function: subplotlib::steplibrary::runcmd::stderr_matches_regex

- then: stderr doesn't match regex (?P<regex>.*)
  regex: true
  function: subplotlib::steplibrary::runcmd::stderr_doesnt_match_regex