[functional-tests] Add some cache tests
This commit is contained in:
@@ -1,100 +0,0 @@
|
||||
Feature: cache_check
|
||||
Scenario: print version (-V flag)
|
||||
When I run `cache_check -V`
|
||||
|
||||
Then it should pass with version
|
||||
|
||||
Scenario: print version (--version flag)
|
||||
When I run `cache_check --version`
|
||||
|
||||
Then it should pass with version
|
||||
|
||||
Scenario: print help
|
||||
When I run `cache_check --help`
|
||||
|
||||
Then it should pass
|
||||
And cache_usage to stdout
|
||||
|
||||
Scenario: print help
|
||||
When I run `cache_check -h`
|
||||
|
||||
Then it should pass
|
||||
And cache_usage to stdout
|
||||
|
||||
Scenario: Metadata file must be specified
|
||||
When I run `cache_check`
|
||||
|
||||
Then it should fail
|
||||
And cache_usage to stderr
|
||||
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
|
||||
"""
|
||||
|
||||
# This test will fail if you're running as root
|
||||
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
|
||||
"""
|
||||
|
||||
Scenario: Metadata file full of zeroes
|
||||
Given input file
|
||||
And block 1 is zeroed
|
||||
When I run `cache_check input`
|
||||
Then it should fail
|
||||
|
||||
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
|
||||
|
||||
Scenario: A valid metadata area passes
|
||||
Given valid cache metadata
|
||||
When I run `cache_check metadata.bin`
|
||||
Then it should pass
|
||||
|
||||
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
|
||||
|
||||
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
|
@@ -1,50 +0,0 @@
|
||||
Feature: cache_dump
|
||||
Scenario: print version (-V flag)
|
||||
When I run cache_dump with -V
|
||||
Then it should pass with version
|
||||
|
||||
Scenario: print version (--version flag)
|
||||
When I run cache_dump with --version
|
||||
Then it should pass with version
|
||||
|
||||
@announce
|
||||
Scenario: print help (-h)
|
||||
When I run cache_dump with -h
|
||||
Then it should pass with:
|
||||
"""
|
||||
Usage: cache_dump [options] {device|file}
|
||||
Options:
|
||||
{-h|--help}
|
||||
{-o <xml file>}
|
||||
{-V|--version}
|
||||
"""
|
||||
|
||||
Scenario: print help (--help)
|
||||
When I run cache_dump with -h
|
||||
Then it should pass with:
|
||||
"""
|
||||
Usage: cache_dump [options] {device|file}
|
||||
Options:
|
||||
{-h|--help}
|
||||
{-o <xml file>}
|
||||
{-V|--version}
|
||||
"""
|
||||
|
||||
Scenario: accepts an output file
|
||||
Given valid cache metadata
|
||||
When I run cache_dump with -o metadata.xml metadata.bin
|
||||
Then it should pass
|
||||
|
||||
Scenario: missing input file
|
||||
When I run cache_dump
|
||||
Then it should fail with:
|
||||
"""
|
||||
No input file provided.
|
||||
"""
|
||||
|
||||
Scenario: dump/restore is a noop
|
||||
Given valid cache metadata
|
||||
When I cache dump
|
||||
And I cache restore
|
||||
And I cache dump
|
||||
Then cache dumps 1 and 2 should be identical
|
@@ -1,107 +0,0 @@
|
||||
Feature: cache_restore
|
||||
Scenario: print version (-V flag)
|
||||
When I run cache_restore with -V
|
||||
Then it should pass with version
|
||||
|
||||
Scenario: print version (--version flag)
|
||||
When I run cache_restore with --version
|
||||
Then it should pass with version
|
||||
|
||||
Scenario: print help (-h)
|
||||
When I run cache_restore with -h
|
||||
Then it should pass
|
||||
And the output should contain exactly:
|
||||
|
||||
"""
|
||||
Usage: cache_restore [options]
|
||||
Options:
|
||||
{-h|--help}
|
||||
{-i|--input} <input xml file>
|
||||
{-o|--output} <output device or file>
|
||||
{-q|--quiet}
|
||||
{-V|--version}
|
||||
|
||||
{--debug-override-metadata-version} <integer>
|
||||
{--omit-clean-shutdown}
|
||||
|
||||
"""
|
||||
|
||||
Scenario: print help (--help)
|
||||
When I run cache_restore with -h
|
||||
Then it should pass
|
||||
And the output should contain exactly:
|
||||
|
||||
"""
|
||||
Usage: cache_restore [options]
|
||||
Options:
|
||||
{-h|--help}
|
||||
{-i|--input} <input xml file>
|
||||
{-o|--output} <output device or file>
|
||||
{-q|--quiet}
|
||||
{-V|--version}
|
||||
|
||||
{--debug-override-metadata-version} <integer>
|
||||
{--omit-clean-shutdown}
|
||||
|
||||
"""
|
||||
|
||||
Scenario: missing input file
|
||||
Given the dev file metadata.bin
|
||||
When I run cache_restore with -o metadata.bin
|
||||
Then it should fail with:
|
||||
"""
|
||||
No input file provided.
|
||||
"""
|
||||
|
||||
Scenario: input file not found
|
||||
Given the dev file metadata.bin
|
||||
When I run cache_restore with -i foo.xml -o metadata.bin
|
||||
Then it should fail
|
||||
|
||||
Scenario: missing output file
|
||||
When I run cache_restore with -i metadata.xml
|
||||
Then it should fail with:
|
||||
"""
|
||||
No output file provided.
|
||||
"""
|
||||
|
||||
Scenario: successfully restores a valid xml file
|
||||
Given a small xml file
|
||||
And an empty dev file
|
||||
When I run cache_restore with -i metadata.xml -o metadata.bin
|
||||
Then it should pass
|
||||
|
||||
Scenario: accepts --debug-override-metadata-version
|
||||
Given a small xml file
|
||||
And an empty dev file
|
||||
When I run cache_restore with -i metadata.xml -o metadata.bin --debug-override-metadata-version 10298
|
||||
Then it should pass
|
||||
|
||||
Scenario: accepts --omit-clean-shutdown
|
||||
Given a small xml file
|
||||
And an empty dev file
|
||||
When I run cache_restore with -i metadata.xml -o metadata.bin --omit-clean-shutdown
|
||||
Then it should pass
|
||||
|
||||
Scenario: --quiet is accepted
|
||||
Given valid cache metadata
|
||||
When I run cache_restore with -i metadata.xml -o metadata.bin --quiet
|
||||
Then it should pass
|
||||
And the output should contain exactly:
|
||||
"""
|
||||
"""
|
||||
|
||||
Scenario: -q is accepted
|
||||
Given valid cache metadata
|
||||
When I run cache_restore with -i metadata.xml -o metadata.bin -q
|
||||
Then it should pass
|
||||
And the output should contain exactly:
|
||||
"""
|
||||
"""
|
||||
|
||||
Scenario: dump/restore is a noop
|
||||
Given valid cache metadata
|
||||
When I cache dump
|
||||
And I cache restore
|
||||
And I cache dump
|
||||
Then dumps 1 and 2 should be identical
|
Reference in New Issue
Block a user