Re: [PATCH] KVM test: Create a verify_kernel_crash() VM method

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2011-03-02 at 13:05 +0200, Michael Goldish wrote:
> On 03/02/2011 05:46 AM, Lucas Meneghel Rodrigues wrote:
> > +    def verify_kernel_crash(self, timeout=2):
> > +        """
> > +        Find kernel crash message on serial console.
> > +
> > +        @param timeout: Timeout used to verify expected output.
> > +
> > +        @raise: VMDeadKernelCrashError, in case a kernel crash message was
> > +                found.
> > +        """
> > +        data = self.serial_console.read_nonblocking()
> 
> I'm not sure using these methdos (read_nonblocking,
> read_until_last_line_matches) is safe if verify_kernel_crash() is to be
> used in tests that already use the serial console.  If a test uses the
> serial console for interactive shell sessions, it might read the BUG:
> message unintentionally (while waiting for a shell prompt, for example)
> and then verify_kernel_crash() will not read the BUG: message because
> data can't be read twice.  It's safer to use
> self.serial_console.get_output(), which returns all the output seen so
> far from the moment the process was started, including the output
> already read by read_until_*().  However, it just returns a snapshot of
> the output, so if you happen to call it while a trace is being printed,
> you'll get a partial trace.  But if the intended usage for the function
> is to be called periodically, that's fine, because the next time it's
> called you'll get the full trace.  Does this make sense?
> 

It does, certainly. It's a matter of changing the code to use
get_output() then, thanks for the suggestion, awesome!

Lucas

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux