From 0f569c88cc711365dbed7edddc3a2a3a9b232495 Mon Sep 17 00:00:00 2001 From: Mikhail Klementev Date: Sun, 7 Oct 2018 14:29:31 +0000 Subject: [PATCH] Move out dmesg cleaning from run --- main.go | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/main.go b/main.go index 8b651b2..2e66e4b 100644 --- a/main.go +++ b/main.go @@ -157,10 +157,10 @@ func build(tmp string, ka artifact, ki kernelInfo) (outPath string, err error) { return } -func run(q *qemu.QemuSystem, ka artifact, ki kernelInfo, file string) (output string, err error) { +func cleanDmesg(q *qemu.QemuSystem) (err error) { start := time.Now() for { - output, err = q.Command("root", "dmesg -c") + _, err = q.Command("root", "dmesg -c") if err == nil { break } @@ -168,10 +168,13 @@ func run(q *qemu.QemuSystem, ka artifact, ki kernelInfo, file string) (output st if time.Now().After(start.Add(time.Minute)) { err = errors.New("Can't connect to qemu") - return + break } } + return +} +func run(q *qemu.QemuSystem, ka artifact, ki kernelInfo, file string) (output string, err error) { switch ka.Type { case KernelModule: output, err = q.CopyAndInsmod(file) @@ -257,6 +260,11 @@ func whatever(swg *sizedwaitgroup.SizedWaitGroup, ka artifact, ki kernelInfo) { } build_ok = true + err = cleanDmesg(q) + if err != nil { + return + } + // TODO Write run log to file or database _, err = run(q, ka, ki, outFile) if err != nil {