Re: [Autotest] [v3 PATCH] KVM test: Add a helper to search the panic in the log

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

 



Michael Goldish wrote:
> On 05/19/2010 12:13 PM, Jason Wang wrote:
>   
>> This checker serves as the post_command to find the panic information
>> in the file which contains the content of guest serial console.
>>
>> Changes from v2:
>> - Put all things into __main__
>> - Fix some typos
>>
>> Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
>> ---
>>  client/tests/kvm/scripts/check_serial.py |   24 ++++++++++++++++++++++++
>>  client/tests/kvm/tests_base.cfg.sample   |    7 +++++--
>>  2 files changed, 29 insertions(+), 2 deletions(-)
>>  create mode 100644 client/tests/kvm/scripts/check_serial.py
>>
>> diff --git a/client/tests/kvm/scripts/check_serial.py b/client/tests/kvm/scripts/check_serial.py
>> new file mode 100644
>> index 0000000..6432c27
>> --- /dev/null
>> +++ b/client/tests/kvm/scripts/check_serial.py
>> @@ -0,0 +1,24 @@
>> +import os, sys, glob, re
>> +
>> +
>> +class SerialCheckerError(Exception):
>> +    """
>> +    Simple wrapper for the builtin Exception class.
>> +    """
>> +    pass
>> +
>> +
>> +if __name__ == "__main__":
>> +    client_dir =  os.environ['AUTODIR']
>> +    pattern = os.environ['KVM_TEST_search_pattern']
>> +    shortname = os.environ['KVM_TEST_shortname']
>> +    debugdir = os.path.join(client_dir, "results/default/kvm.%s/debug" 
>> +                            % shortname)
>> +    serial_files = glob.glob(os.path.join(debugdir, 'serial*'))
>> +    
>> +    fail = [ f for f in serial_files if
>> +             re.findall(pattern, file(f).read(), re.I) ]
>> +    if fail:
>> +        print "%s is found in %s" % (pattern, fail)
>> +        raise SerialCheckerError("Error found during the check, please " 
>> +                                 "check the log")
>> diff --git a/client/tests/kvm/tests_base.cfg.sample b/client/tests/kvm/tests_base.cfg.sample
>> index e85bb4a..c4e522a 100644
>> --- a/client/tests/kvm/tests_base.cfg.sample
>> +++ b/client/tests/kvm/tests_base.cfg.sample
>> @@ -52,6 +52,10 @@ address_index = 0
>>  # Misc
>>  profilers = kvm_stat
>>  
>> +# pattern to search in guest serial console
>> +search_pattern = panic
>> +post_command = "python scripts/check_serial.py"
>> +post_command_noncritical = no
>>  
>>  # Tests
>>  variants:
>> @@ -1324,10 +1328,9 @@ virtio|virtio_blk|e1000|balloon_check:
>>  variants:
>>      - @qcow2:
>>          image_format = qcow2
>> -        post_command = " python scripts/check_image.py;"
>> +        post_command += " && python scripts/check_image.py"
>>     
>
> If post_command is empty before executing this line, it'll end up being
> " && python scripts/..." and bash doesn't like that AFAIK.  I think this
> line should be:
>
> post_command += " python scripts/check_image.py;"
>
> So if post_command is empty, it becomes " python ...;" which is OK, and
> if it isn't empty, it becomes "previous command; python ...;" (assuming
> the previous command ended with ';').
>
>   
What I want is to fail the case when panic was found, so how about use
<= like:
        post_command <= "python scripts/check_image.py;"
>>          remove_image = no
>>          post_command_timeout = 600
>> -        post_command_noncritical = yes
>>      - vmdk:
>>          only Fedora Ubuntu Windows
>>          only smp2
>>
>> _______________________________________________
>> Autotest mailing list
>> Autotest@xxxxxxxxxxxxxxx
>> http://test.kernel.org/cgi-bin/mailman/listinfo/autotest
>>     
>
> --
> 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
>   

--
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