From: "Radim Krčmář" <rkrcmar@redhat.com>
To: "Lukáš Doktor" <ldoktor@redhat.com>
Cc: kvm@vger.kernel.org, drjones@redhat.com, pbonzini@redhat.com,
lvivier@redhat.com
Subject: Re: [PATCH] scripts/runtime: Adjust the premature_failure check
Date: Tue, 31 May 2016 21:00:24 +0200 [thread overview]
Message-ID: <20160531190023.GC30930@potion> (raw)
In-Reply-To: <4e9c147c-dfbf-4985-1869-3f3712bfa579@redhat.com>
2016-05-31 20:13+0200, Lukáš Doktor:
> Dne 31.5.2016 v 17:56 Radim Krčmář napsal(a):
> > 2016-05-31 17:37+0200, Radim Krčmář:
> > > 2016-05-31 12:54+0200, Lukáš Doktor:
> > > > The premature_failure check fails on qemu-system-ppc64 as it uses
> > > > different message. This patch modifies the condition so it works
> > > > (hopefully) for all archs.
> > > > ---
> > > > diff --git a/scripts/runtime.bash b/scripts/runtime.bash
> > > > - echo "$last_line" | grep -qi "could not load kernel" &&
> > > > + echo "$last_line" | grep "_NO_FILE_4Uhere_" | grep -qi "no such file" &&
> > >
> > > PPC uses "Could not open '_NO_FILE_4Uhere_': No such file [...]".
> > > The problem is that "No such file [...]" might be localized, so what
> > > about
> > > grep -qi "could not \(load kernel\|open\) '_NO_FILE_4Uhere_'"
> > > ?
> >
> > My tested local repo has a different line there:
> > (no idea how the posted version came around ...)
> >
> > echo "$last_line" | grep -qi "_NO_FILE_4Uhere_" &&
> Oups, I sent a wrong version. I didn't use the `last_line`, but full output to check for the result to be more lenient:
>
> ```
> diff --git a/scripts/runtime.bash b/scripts/runtime.bash
> index 886814b..96c82c6 100644
> --- a/scripts/runtime.bash
> +++ b/scripts/runtime.bash
> @@ -15,9 +15,8 @@ extract_summary()
> premature_failure()
> {
> local log="$(eval $(get_cmdline _NO_FILE_4Uhere_) 2>&1)"
> - local last_line=$(tail -1 <<< "$log")
> - echo "$last_line" | grep "_NO_FILE_4Uhere_" | grep -qi "no such file" &&
> + echo "$log" | grep "_NO_FILE_4Uhere_" | grep -qi "no such file" &&
> return 1
> RUNTIME_log_stderr <<< "$log"
> ```
>
> Which works for me on ppc64 and x86_64. Anyway it fails on aarch64 as indeed the message is localized. I'm wondering how strict this check needs to be. I'd be fine with checking the exit_code + `grep -q "_NO_FILE_4Uhere_"` anywhere in the output.
Exit code is going to be 1 pretty much every time, so I wouldn't bother
with it.
I used $last_line, because grep only checked for _NO_FILE_4Uhere_ and
qemu could have printed it for some other reasons too.
Parsing the whole log sounds good.
> Alternatively how about stronger version could check the last line in this way `echo "$last_line" | grep "_NO_FILE_4Uhere_" | grep -q -e "could not load kernel" -e "error loading" which works on my qemu-system-{x86_64,aarch64,ppc64}.
Ah, true, PPC says something different ... (too many mistakes these
days, I'll be taking another vacation soon)
QEMU's exit messages (on rawhide fedora):
# qemu-system-aarch64 -kernel _NO_FILE_4Uhere_ -M virt
qemu: could not load kernel '_NO_FILE_4Uhere_'
# qemu-system-ppc64 -kernel _NO_FILE_4Uhere_
qemu-system-ppc64: error loading _NO_FILE_4Uhere_: Failed to load ELF
# qemu-system-x86_64 -kernel _NO_FILE_4Uhere_
qemu: could not load kernel '_NO_FILE_4Uhere_': No such file or directory
> Any preferences?
Checking that "_NO_FILE_4Uhere_" occurs on line with/after "could not
load kernel" or "error loading" seems best to me.
next prev parent reply other threads:[~2016-05-31 19:00 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-31 10:54 [kvm-unit-tests PATCH] Adjust the premature_failure check Lukáš Doktor
2016-05-31 10:54 ` [PATCH] scripts/runtime: " Lukáš Doktor
2016-05-31 15:37 ` Radim Krčmář
2016-05-31 15:56 ` Radim Krčmář
2016-05-31 16:20 ` Paolo Bonzini
2016-05-31 18:13 ` Lukáš Doktor
2016-05-31 19:00 ` Radim Krčmář [this message]
-- strict thread matches above, loose matches on Subject: below --
2016-06-01 6:20 [kvm-unit-tests PATCH v2] " Lukáš Doktor
2016-06-01 6:20 ` [PATCH] scripts/runtime: " Lukáš Doktor
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160531190023.GC30930@potion \
--to=rkrcmar@redhat.com \
--cc=drjones@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=ldoktor@redhat.com \
--cc=lvivier@redhat.com \
--cc=pbonzini@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.