restore: print JSON versions of errors in --json mode
Previously, they were printed as freeform text. This also adds a ui.Terminal interface to make writing tests easier and also adds a few tests.
This commit is contained in:
parent
ad2585af67
commit
a376323331
17 changed files with 234 additions and 70 deletions
27
internal/ui/backup/text_test.go
Normal file
27
internal/ui/backup/text_test.go
Normal file
|
@ -0,0 +1,27 @@
|
|||
package backup
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/restic/restic/internal/errors"
|
||||
"github.com/restic/restic/internal/test"
|
||||
"github.com/restic/restic/internal/ui"
|
||||
)
|
||||
|
||||
func createTextProgress() (*ui.MockTerminal, ProgressPrinter) {
|
||||
term := &ui.MockTerminal{}
|
||||
printer := NewTextProgress(term, 3)
|
||||
return term, printer
|
||||
}
|
||||
|
||||
func TestError(t *testing.T) {
|
||||
term, printer := createTextProgress()
|
||||
test.Equals(t, printer.Error("/path", errors.New("error \"message\"")), nil)
|
||||
test.Equals(t, []string{"error: error \"message\"\n"}, term.Errors)
|
||||
}
|
||||
|
||||
func TestScannerError(t *testing.T) {
|
||||
term, printer := createTextProgress()
|
||||
test.Equals(t, printer.ScannerError("/path", errors.New("error \"message\"")), nil)
|
||||
test.Equals(t, []string{"scan: error \"message\"\n"}, term.Errors)
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue