[functional-tests] thin_delta tests
This commit is contained in:
parent
e0bab67bd8
commit
8c251018c6
@ -1,62 +0,0 @@
|
|||||||
Feature: thin_delta
|
|
||||||
Scenario: print version (-V flag)
|
|
||||||
When I run `thin_delta -V`
|
|
||||||
Then it should pass with version
|
|
||||||
|
|
||||||
Scenario: print version (--version flag)
|
|
||||||
When I run `thin_delta --version`
|
|
||||||
Then it should pass with version
|
|
||||||
|
|
||||||
Scenario: print help
|
|
||||||
When I run `thin_delta --help`
|
|
||||||
Then it should pass with:
|
|
||||||
|
|
||||||
"""
|
|
||||||
Usage: thin_delta [options] <device or file>
|
|
||||||
Options:
|
|
||||||
{--thin1, --snap1}
|
|
||||||
{--thin2, --snap2}
|
|
||||||
{-m, --metadata-snap} [block#]
|
|
||||||
{--verbose}
|
|
||||||
{-h|--help}
|
|
||||||
{-V|--version}
|
|
||||||
"""
|
|
||||||
|
|
||||||
Scenario: print help
|
|
||||||
When I run `thin_delta -h`
|
|
||||||
Then it should pass with:
|
|
||||||
"""
|
|
||||||
Usage: thin_delta [options] <device or file>
|
|
||||||
Options:
|
|
||||||
{--thin1, --snap1}
|
|
||||||
{--thin2, --snap2}
|
|
||||||
{-m, --metadata-snap} [block#]
|
|
||||||
{--verbose}
|
|
||||||
{-h|--help}
|
|
||||||
{-V|--version}
|
|
||||||
"""
|
|
||||||
|
|
||||||
Scenario: Unrecognised option should cause failure
|
|
||||||
When I run `thin_delta --unleash-the-hedeghogs`
|
|
||||||
Then it should fail
|
|
||||||
|
|
||||||
Scenario: --snap1 must be specified
|
|
||||||
When I run `thin_delta --snap2 45 foo`
|
|
||||||
Then it should fail with:
|
|
||||||
"""
|
|
||||||
--snap1 not specified.
|
|
||||||
"""
|
|
||||||
|
|
||||||
Scenario: --snap2 must be specified
|
|
||||||
When I run `thin_delta --snap1 45 foo`
|
|
||||||
Then it should fail with:
|
|
||||||
"""
|
|
||||||
--snap2 not specified.
|
|
||||||
"""
|
|
||||||
|
|
||||||
Scenario: device must be specified
|
|
||||||
When I run `thin_delta --snap1 45 --snap2 50`
|
|
||||||
Then it should fail with:
|
|
||||||
"""
|
|
||||||
No input device provided.
|
|
||||||
"""
|
|
@ -5,6 +5,7 @@
|
|||||||
thin-restore-outfile-too-small-text
|
thin-restore-outfile-too-small-text
|
||||||
thin-restore-help
|
thin-restore-help
|
||||||
thin-rmap-help
|
thin-rmap-help
|
||||||
|
thin-delta-help
|
||||||
|
|
||||||
cache-check-help
|
cache-check-help
|
||||||
cache-restore-help
|
cache-restore-help
|
||||||
@ -54,6 +55,16 @@ Where:
|
|||||||
<block range> is of the form <begin>..<one-past-the-end>
|
<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")
|
for example 5..45 denotes blocks 5 to 44 inclusive, but not block 45")
|
||||||
|
|
||||||
|
(define thin-delta-help
|
||||||
|
"Usage: thin_delta [options] <device or file>
|
||||||
|
Options:
|
||||||
|
{--thin1, --snap1}
|
||||||
|
{--thin2, --snap2}
|
||||||
|
{-m, --metadata-snap} [block#]
|
||||||
|
{--verbose}
|
||||||
|
{-h|--help}
|
||||||
|
{-V|--version}")
|
||||||
|
|
||||||
(define cache-check-help
|
(define cache-check-help
|
||||||
"Usage: cache_check [options] {device|file}
|
"Usage: cache_check [options] {device|file}
|
||||||
Options:
|
Options:
|
||||||
@ -105,4 +116,5 @@ Options:
|
|||||||
|
|
||||||
These all relate to the size of the fast device (eg, SSD), rather
|
These all relate to the size of the fast device (eg, SSD), rather
|
||||||
than the whole cached device.")
|
than the whole cached device.")
|
||||||
|
|
||||||
)
|
)
|
||||||
|
@ -227,5 +227,48 @@
|
|||||||
(define-scenario (thin-rmap multiple-regions-should-pass)
|
(define-scenario (thin-rmap multiple-regions-should-pass)
|
||||||
"thin_rmap should handle multiple regions."
|
"thin_rmap should handle multiple regions."
|
||||||
(with-valid-metadata (md)
|
(with-valid-metadata (md)
|
||||||
(thin-rmap "--region 1..23 --region 45..78" md))))
|
(thin-rmap "--region 1..23 --region 45..78" md)))
|
||||||
|
|
||||||
|
;;;-----------------------------------------------------------
|
||||||
|
;;; thin_delta scenarios
|
||||||
|
;;;-----------------------------------------------------------
|
||||||
|
(define-scenario (thin-delta v)
|
||||||
|
"thin_delta accepts -V"
|
||||||
|
(receive (stdout _) (thin-delta "-V")
|
||||||
|
(assert-equal tools-version stdout)))
|
||||||
|
|
||||||
|
(define-scenario (thin-delta version)
|
||||||
|
"thin_delta accepts --version"
|
||||||
|
(receive (stdout _) (thin-delta "--version")
|
||||||
|
(assert-equal tools-version stdout)))
|
||||||
|
|
||||||
|
(define-scenario (thin-delta h)
|
||||||
|
"thin_delta accepts -h"
|
||||||
|
(receive (stdout _) (thin-delta "-h")
|
||||||
|
(assert-equal thin-delta-help stdout)))
|
||||||
|
|
||||||
|
(define-scenario (thin-delta help)
|
||||||
|
"thin_delta accepts --help"
|
||||||
|
(receive (stdout _) (thin-delta "--help")
|
||||||
|
(assert-equal thin-delta-help stdout)))
|
||||||
|
|
||||||
|
(define-scenario (thin-delta unrecognised-option)
|
||||||
|
"Unrecognised option should cause failure"
|
||||||
|
(run-fail "thin_delta --unleash-the-hedgehogs"))
|
||||||
|
|
||||||
|
(define-scenario (thin-delta snap1-unspecified)
|
||||||
|
"Fails without --snap1 fails"
|
||||||
|
(receive (_ stderr) (run-fail "thin_delta --snap2 45 foo")
|
||||||
|
(assert-starts-with "--snap1 not specified." stderr)))
|
||||||
|
|
||||||
|
(define-scenario (thin-delta snap2-unspecified)
|
||||||
|
"Fails without --snap2 fails"
|
||||||
|
(receive (_ stderr) (run-fail "thin_delta --snap1 45 foo")
|
||||||
|
(assert-starts-with "--snap2 not specified." stderr)))
|
||||||
|
|
||||||
|
(define-scenario (thin-delta device-unspecified)
|
||||||
|
"Fails if no device given"
|
||||||
|
(receive (_ stderr) (run-fail "thin_delta --snap1 45 --snap2 46")
|
||||||
|
(assert-starts-with "No input device provided." stderr)))
|
||||||
|
|
||||||
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user