106 lines
2.9 KiB
Gherkin
106 lines
2.9 KiB
Gherkin
Feature: thin_rmap
|
|
Scenario: print version (-V flag)
|
|
When I run `thin_rmap -V`
|
|
Then it should pass with:
|
|
|
|
"""
|
|
0.1.5
|
|
"""
|
|
|
|
Scenario: print version (--version flag)
|
|
When I run `thin_rmap --version`
|
|
Then it should pass with:
|
|
|
|
"""
|
|
0.1.5
|
|
"""
|
|
|
|
Scenario: print help
|
|
When I run `thin_rmap --help`
|
|
Then it should pass with:
|
|
|
|
"""
|
|
Usage: thin_rmap [options] {device|file}
|
|
Options:
|
|
{-h|--help}
|
|
{-V|--version}
|
|
{--region <block range>}*
|
|
Where:
|
|
<block range> is of the form <begin>..<one-past-the-end>
|
|
for example 5..45 denotes blocks 5 to 44 inclusive, but not block 45
|
|
"""
|
|
|
|
Scenario: print help
|
|
When I run `thin_rmap -h`
|
|
Then it should pass with:
|
|
"""
|
|
Usage: thin_rmap [options] {device|file}
|
|
Options:
|
|
{-h|--help}
|
|
{-V|--version}
|
|
{--region <block range>}*
|
|
Where:
|
|
<block range> is of the form <begin>..<one-past-the-end>
|
|
for example 5..45 denotes blocks 5 to 44 inclusive, but not block 45
|
|
"""
|
|
|
|
Scenario: Unrecognised option should cause failure
|
|
When I run `thin_rmap --unleash-the-hedeghogs`
|
|
Then it should fail
|
|
|
|
@announce
|
|
Scenario: Valid region format should pass
|
|
Given valid metadata
|
|
When I run thin_rmap with --region 23..7890
|
|
Then it should pass
|
|
|
|
Scenario: Invalid region format should fail (comma instean of dots)
|
|
Given valid metadata
|
|
When I run thin_rmap with --region 23,7890
|
|
Then it should fail
|
|
|
|
Scenario: Invalid region format should fail (second number a word)
|
|
Given valid metadata
|
|
When I run thin_rmap with --region 23..six
|
|
Then it should fail
|
|
|
|
Scenario: Invalid region format should fail (first number a word)
|
|
Given valid metadata
|
|
When I run thin_rmap with --region four..7890
|
|
Then it should fail
|
|
|
|
Scenario: Invalid region format should fail (end is lower than begin)
|
|
Given valid metadata
|
|
When I run thin_rmap with --region 89..88
|
|
Then it should fail
|
|
|
|
Scenario: Invalid region format should fail (end is equal to begin)
|
|
Given valid metadata
|
|
When I run thin_rmap with --region 89..89
|
|
Then it should fail
|
|
|
|
Scenario: Invalid region format should fail (no begin)
|
|
Given valid metadata
|
|
When I run thin_rmap with --region ..89
|
|
Then it should fail
|
|
|
|
Scenario: Invalid region format should fail (no end)
|
|
Given valid metadata
|
|
When I run thin_rmap with --region 89..
|
|
Then it should fail
|
|
|
|
Scenario: Invalid region format should fail (no region at all)
|
|
Given valid metadata
|
|
When I run thin_rmap with --region
|
|
Then it should fail
|
|
|
|
Scenario: Invalid region format should fail (three dots)
|
|
Given valid metadata
|
|
When I run thin_rmap with --region 89...99
|
|
Then it should fail
|
|
|
|
Scenario: Multiple regions should pass
|
|
Given valid metadata
|
|
When I run thin_rmap with --region 1..23 --region 45..78
|
|
Then it should pass
|