thin-provisioning-tools/features/cache_check.feature

100 lines
2.4 KiB
Gherkin
Raw Normal View History

2013-03-21 21:14:28 +05:30
Feature: cache_check
Scenario: print version (-V flag)
When I run `cache_check -V`
Then it should pass with version
2013-03-21 21:14:28 +05:30
Scenario: print version (--version flag)
When I run `cache_check --version`
Then it should pass with version
2013-03-21 21:14:28 +05:30
Scenario: print help
When I run `cache_check --help`
Then it should pass
2014-01-09 02:09:46 +05:30
And cache_usage to stdout
2013-03-21 21:14:28 +05:30
Scenario: print help
When I run `cache_check -h`
Then it should pass
2014-01-09 02:09:46 +05:30
And cache_usage to stdout
2013-03-21 21:14:28 +05:30
Scenario: Metadata file must be specified
When I run `cache_check`
Then it should fail
2014-01-09 02:09:46 +05:30
And cache_usage to stderr
2013-03-21 21:14:28 +05:30
And the stderr should contain:
"""
No input file provided.
"""
Scenario: Metadata file doesn't exist
When I run `cache_check /arbitrary/filename`
Then it should fail
And the stderr should contain:
"""
/arbitrary/filename: No such file or directory
"""
Scenario: Metadata file cannot be a directory
Given a directory called foo
When I run `cache_check foo`
Then it should fail
And the stderr should contain:
"""
foo: Not a block device or regular file
"""
2014-01-09 02:09:46 +05:30
# This test will fail if you're running as root
2013-03-21 21:14:28 +05:30
Scenario: Metadata file exists, but can't be opened
Given input without read permissions
When I run `cache_check input`
Then it should fail
And the stderr should contain:
"""
Permission denied
2013-03-21 21:14:28 +05:30
"""
Scenario: Metadata file full of zeroes
Given input file
And block 1 is zeroed
When I run `cache_check input`
Then it should fail
2013-03-22 17:34:38 +05:30
2013-10-08 15:51:31 +05:30
Scenario: --quiet is observed
Given input file
And block 1 is zeroed
When I run `cache_check --quiet input`
Then it should fail
And it should give no output
Scenario: -q is observed
Given input file
And block 1 is zeroed
When I run `cache_check -q input`
Then it should fail
And it should give no output
2013-03-22 17:34:38 +05:30
Scenario: A valid metadata area passes
Given valid cache metadata
When I run `cache_check metadata.bin`
Then it should pass
2013-03-22 17:34:38 +05:30
Scenario: Invalid metadata version causes a fail
Given a small xml file
And input file
And I run cache_restore with -i metadata.xml -o input --debug-override-metadata-version 12345
When I run `cache_check input`
Then it should fail
2015-06-09 18:31:22 +05:30
Scenario: Accepts --clear-needs-check-flag
Given valid cache metadata
When I run `cache_check --clear-needs-check-flag metadata.bin`
Then it should pass