diff options
author | Jakob Unterwurzacher | 2016-06-06 22:30:39 +0200 |
---|---|---|
committer | Jakob Unterwurzacher | 2016-06-06 22:30:39 +0200 |
commit | cc5d5a3fcdabca0ecd86646091c545509351dbbe (patch) | |
tree | 486f77b3688d96200f1dd94df0225dac26e3beeb /integration_tests/helpers.go | |
parent | 0c80cca674931c9dbfc69c25df24d53abbdd63a9 (diff) |
tests: error out properly on mount failure
In TestMain we call os.Exit as before, but inside actual tests
we now call t.Fatal().
Diffstat (limited to 'integration_tests/helpers.go')
-rw-r--r-- | integration_tests/helpers.go | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/integration_tests/helpers.go b/integration_tests/helpers.go index bdb781f..4881a4b 100644 --- a/integration_tests/helpers.go +++ b/integration_tests/helpers.go @@ -60,7 +60,7 @@ func resetTmpDir(plaintextNames bool) { } // mount CIPHERDIR "c" on PLAINDIR "p" -func mount(c string, p string, extraArgs ...string) { +func mount(c string, p string, extraArgs ...string) error { var args []string args = append(args, extraArgs...) args = append(args, "-nosyslog", "-q", "-wpanic") @@ -70,16 +70,27 @@ func mount(c string, p string, extraArgs ...string) { args = append(args, p) cmd := exec.Command(gocryptfsBinary, args...) cmd.Stderr = os.Stderr - if testing.Verbose() { - cmd.Stdout = os.Stdout - } - err := cmd.Run() + cmd.Stdout = os.Stdout + return cmd.Run() +} + +// mountOrExit calls mount() and exits on failure. +func mountOrExit(c string, p string, extraArgs ...string) { + err := mount(c, p, extraArgs...) if err != nil { - fmt.Println(err) + fmt.Printf("mount failed: %v", err) os.Exit(1) } } +// mountOrFatal calls mount() and calls t.Fatal() on failure. +func mountOrFatal(t *testing.T, c string, p string, extraArgs ...string) { + err := mount(c, p, extraArgs...) + if err != nil { + t.Fatal(fmt.Errorf("mount failed: %v", err)) + } +} + // unmount PLAINDIR "p" func unmount(p string) error { fu := exec.Command("fusermount", "-u", "-z", p) |