[functional-tests] era_restore tests
This commit is contained in:
parent
6616a21891
commit
d3c8ae4f35
@ -25,7 +25,7 @@
|
||||
(syntax-rules ()
|
||||
((_ (md) b1 b2 ...)
|
||||
(with-temp-file-sized ((md "era.bin" (meg 4)))
|
||||
(with-cache-xml (xml)
|
||||
(with-era-xml (xml)
|
||||
(era-restore "-i" xml "-o" md)
|
||||
b1 b2 ...)))))
|
||||
|
||||
@ -106,4 +106,86 @@
|
||||
(receive (stdout stderr) (run-fail "era_check -q" md)
|
||||
(assert-eof stdout)
|
||||
(assert-eof stderr))))
|
||||
|
||||
;;;-----------------------------------------------------------
|
||||
;;; era_restore scenarios
|
||||
;;;-----------------------------------------------------------
|
||||
(define-scenario (era-restore v)
|
||||
"era_restore -V"
|
||||
(receive (stdout _) (era-restore "-V")
|
||||
(assert-equal tools-version stdout)))
|
||||
|
||||
(define-scenario (era-restore version)
|
||||
"era_restore --version"
|
||||
(receive (stdout _) (era-restore "--version")
|
||||
(assert-equal tools-version stdout)))
|
||||
|
||||
(define-scenario (era-restore h)
|
||||
"era_restore -h"
|
||||
(receive (stdout _) (era-restore "-h")
|
||||
(assert-equal era-restore-help stdout)))
|
||||
|
||||
(define-scenario (era-restore help)
|
||||
"era_restore --help"
|
||||
(receive (stdout _) (era-restore "--help")
|
||||
(assert-equal era-restore-help stdout)))
|
||||
|
||||
(define-scenario (era-restore input-unspecified)
|
||||
"Fails if no xml specified"
|
||||
(with-empty-metadata (md)
|
||||
(receive (_ stderr) (run-fail "era_restore" "-o" md)
|
||||
(assert-starts-with "No input file provided." stderr))))
|
||||
|
||||
(define-scenario (era-restore output-unspecified)
|
||||
"Fails if no metadata dev specified"
|
||||
(with-era-xml (xml)
|
||||
(receive (_ stderr) (run-fail "era_restore" "-i" xml)
|
||||
(assert-starts-with "No output file provided." stderr))))
|
||||
|
||||
(define-scenario (era-restore success)
|
||||
"Succeeds with xml and metadata"
|
||||
(with-era-xml (xml)
|
||||
(with-empty-metadata (md)
|
||||
(era-restore "-i" xml "-o" md))))
|
||||
|
||||
(define-scenario (era-restore quiet)
|
||||
"No output with --quiet (succeeding)"
|
||||
(with-era-xml (xml)
|
||||
(with-empty-metadata (md)
|
||||
(receive (stdout stderr) (era-restore "--quiet" "-i" xml "-o" md)
|
||||
(assert-eof stdout)
|
||||
(assert-eof stderr)))))
|
||||
|
||||
(define-scenario (era-restore q)
|
||||
"No output with -q (succeeding)"
|
||||
(with-era-xml (xml)
|
||||
(with-empty-metadata (md)
|
||||
(receive (stdout stderr) (era-restore "-q" "-i" xml "-o" md)
|
||||
(assert-eof stdout)
|
||||
(assert-eof stderr)))))
|
||||
|
||||
(define-scenario (era-restore quiet-fail)
|
||||
"No output with --quiet (failing)"
|
||||
(with-temp-file ((bad-xml "era.xml"))
|
||||
(with-empty-metadata (md)
|
||||
(receive (stdout stderr) (run-fail "era_restore" "--quiet" "-i" bad-xml "-o" md)
|
||||
(assert-eof stdout)
|
||||
(assert-eof stderr)))))
|
||||
|
||||
(define-scenario (era-restore q-fail)
|
||||
"No output with --q(failing)"
|
||||
(with-temp-file ((bad-xml "era.xml"))
|
||||
(with-empty-metadata (md)
|
||||
(receive (stdout stderr) (run-fail "era_restore" "-q" "-i" bad-xml "-o" md)
|
||||
(assert-eof stdout)
|
||||
(assert-eof stderr)))))
|
||||
|
||||
(define-scenario (era-dump restore-is-noop)
|
||||
"era_dump followed by era_restore is a noop."
|
||||
(with-valid-metadata (md)
|
||||
(receive (d1-stdout _) (era-dump md)
|
||||
(with-temp-file-containing ((xml "era.xml" d1-stdout))
|
||||
(era-restore "-i" xml "-o" md)
|
||||
(receive (d2-stdout _) (era-dump md)
|
||||
(assert-equal d1-stdout d2-stdout))))))
|
||||
)
|
||||
|
@ -14,6 +14,7 @@
|
||||
cache-metadata-size-help
|
||||
|
||||
era-check-help
|
||||
era-restore-help
|
||||
)
|
||||
|
||||
(import (rnrs))
|
||||
@ -126,4 +127,13 @@ Options:
|
||||
{-h|--help}
|
||||
{-V|--version}
|
||||
{--super-block-only}")
|
||||
|
||||
(define era-restore-help
|
||||
"Usage: era_restore [options]
|
||||
Options:
|
||||
{-h|--help}
|
||||
{-i|--input} <input xml file>
|
||||
{-o|--output} <output device or file>
|
||||
{-q|--quiet}
|
||||
{-V|--version}")
|
||||
)
|
||||
|
Loading…
Reference in New Issue
Block a user