summaryrefslogtreecommitdiff
path: root/share/rust/lib/runcmd.yaml
blob: fc2db6b005447e6d2e370eed1fc0a63e9800fa8f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# 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