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 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
|
Feature: Check exit status of commands
Use the `the exit status should be \d`-step to check the exit status of the
last command which was executed.
Background:
Given I use a fixture named "cli-app"
Scenario: Test for exit status of 0
Given an executable named "bin/cli" with:
"""
#!/bin/bash
exit 0
"""
And a file named "features/exit_status.feature" with:
"""
Feature: Exit status
Scenario: Run command
When I run `cli`
Then the exit status should be 0
"""
When I run `cucumber`
Then the features should all pass
Scenario: Test for exit status 1
Given an executable named "bin/cli" with:
"""
#!/bin/bash
exit 1
"""
And a file named "features/exit_status.feature" with:
"""
Feature: Failing program
Scenario: Run command
When I run `cli`
Then the exit status should be 1
"""
When I run `cucumber`
Then the features should all pass
Scenario: Test for non-zero exit status
Given an executable named "bin/cli" with:
"""
#!/bin/bash
exit 1
"""
And a file named "features/exit_status.feature" with:
"""
Feature: Failing program
Scenario: Run command
When I run `cli`
Then the exit status should not be 0
"""
When I run `cucumber`
Then the features should all pass
Scenario: Successfully run something
Given an executable named "bin/cli" with:
"""
#!/bin/bash
exit 0
"""
And a file named "features/exit_status.feature" with:
"""
Feature: Failing program
Scenario: Run command
When I successfully run `cli`
"""
When I run `cucumber`
Then the features should all pass
Scenario: Fail to run something successfully
Given an executable named "bin/cli" with:
"""
#!/bin/bash
exit 1
"""
And a file named "features/exit_status.feature" with:
"""
Feature: Failing program
Scenario: Run command
When I successfully run `cli`
"""
When I run `cucumber`
Then the features should not all pass
Scenario: Overwrite the default exit timeout via step
Given an executable named "bin/cli" with:
"""
#!/bin/bash
sleep 1
"""
And a file named "features/exit_status.feature" with:
"""
Feature: Failing program
Scenario: Run command
Given the default aruba exit timeout is 2 seconds
When I successfully run `cli`
"""
When I run `cucumber`
Then the features should all pass
Scenario: Successfully run something longer then the default time
Given an executable named "bin/cli" with:
"""
#!/bin/bash
sleep 1
"""
And a file named "features/exit_status.feature" with:
"""
Feature: Failing program
Scenario: Run command
Given the default aruba exit timeout is 0 seconds
When I successfully run `cli` for up to 2 seconds
"""
When I run `cucumber`
Then the features should all pass
Scenario: Unsuccessfully run something that takes too long
Given an executable named "bin/cli" with:
"""
#!/bin/bash
sleep 2
"""
And a file named "features/exit_status.feature" with:
"""
Feature: Failing program
Scenario: Run command
Given the default aruba exit timeout is 0 seconds
When I successfully run `cli` for up to 1 seconds
"""
When I run `cucumber`
Then the features should not all pass with:
"""
expected "cli" to have finished in time
"""
|