98 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Gherkin
		
	
	
	
	
	
			
		
		
	
	
			98 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Gherkin
		
	
	
	
	
	
Feature: thin_rmap
 | 
						|
  Scenario: print version (-V flag)
 | 
						|
    When I run `thin_rmap -V`
 | 
						|
    Then it should pass with version
 | 
						|
 | 
						|
  Scenario: print version (--version flag)
 | 
						|
    When I run `thin_rmap --version`
 | 
						|
    Then it should pass with version
 | 
						|
 | 
						|
  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 thin 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 thin 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 thin 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 thin 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 thin 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 thin metadata
 | 
						|
    When I run thin_rmap with --region 89..89
 | 
						|
    Then it should fail
 | 
						|
 | 
						|
  Scenario: Invalid region format should fail (no begin)
 | 
						|
    Given valid thin metadata
 | 
						|
    When I run thin_rmap with --region ..89
 | 
						|
    Then it should fail
 | 
						|
 | 
						|
  Scenario: Invalid region format should fail (no end)
 | 
						|
    Given valid thin 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 thin metadata
 | 
						|
    When I run thin_rmap with --region
 | 
						|
    Then it should fail
 | 
						|
 | 
						|
  Scenario: Invalid region format should fail (three dots)
 | 
						|
    Given valid thin metadata
 | 
						|
    When I run thin_rmap with --region 89...99
 | 
						|
    Then it should fail
 | 
						|
 | 
						|
  Scenario: Multiple regions should pass
 | 
						|
    Given valid thin metadata
 | 
						|
    When I run thin_rmap with --region 1..23 --region 45..78
 | 
						|
    Then it should pass
 |