Detect XML in *_check tools (#86)

* [*_check] Detect XML in cache_check and era_check

This is based on previous commit b10d8d4440.

* [*_check] Fix typo in check_superblock
This commit is contained in:
csonto
2017-10-05 14:47:10 +02:00
committed by Joe Thornber
parent db9259d303
commit 5b5aa971a0
9 changed files with 66 additions and 21 deletions

View File

@@ -133,12 +133,18 @@
(cache-restore "-i" xml "-o" md "--debug-override-metadata-version" "12345")
(run-fail "cache_check" md))))
(define-scenario (cache-check dont-repair-xml)
"Fails gracefully if run on XML rather than metadata"
(define-scenario (cache-check tiny-metadata)
"Prints helpful message in case XML metadata given"
(with-cache-xml (xml)
(with-empty-metadata (md)
(receive (_ stderr) (run-fail "cache_check " xml)
#t))))
(receive (_ stderr) (run-fail "cache_check" xml)
(assert-starts-with "Metadata device/file too small. Is this binary metadata?" stderr))))
(define-scenario (cache-check spot-accidental-xml-data)
"Prints helpful message if XML metadata given"
(with-cache-xml (xml)
(system (fmt #f "man bash >> " xml))
(receive (_ stderr) (run-fail "cache_check" xml)
(assert-matches ".*This looks like XML. cache_check only checks the binary metadata format." stderr))))
;;;-----------------------------------------------------------
;;; cache_restore scenarios

View File

@@ -107,6 +107,19 @@
(assert-eof stdout)
(assert-eof stderr))))
(define-scenario (era-check tiny-metadata)
"Prints helpful message in case XML metadata given"
(with-era-xml (xml)
(receive (_ stderr) (run-fail "era_check" xml)
(assert-starts-with "Metadata device/file too small. Is this binary metadata?" stderr))))
(define-scenario (era-check spot-accidental-xml-data)
"Prints helpful message if XML metadata given"
(with-era-xml (xml)
(system (fmt #f "man bash >> " xml))
(receive (_ stderr) (run-fail "era_check" xml)
(assert-matches ".*This looks like XML. era_check only checks the binary metadata format." stderr))))
;;;-----------------------------------------------------------
;;; era_restore scenarios
;;;-----------------------------------------------------------