Re: [KVM-AUTOTEST PATCH 4/5] kvm_config: add helper to raise exception informing line number

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

 



On Thu, 2011-01-06 at 14:12 -0200, Eduardo Habkost wrote:
> From: Eduardo Habkost <ehabkost@xxxxxxxxxxx>
> 
> Useful for syntax or other errors on the config file. We want to tell
> the user on which file:line the error is located.
> 
> Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxxx>
> ---
>  client/tests/kvm/kvm_config.py |   16 +++++++++++++++-
>  1 files changed, 15 insertions(+), 1 deletions(-)
> 
> diff --git a/client/tests/kvm/kvm_config.py b/client/tests/kvm/kvm_config.py
> index 35e2ab9..c206743 100755
> --- a/client/tests/kvm/kvm_config.py
> +++ b/client/tests/kvm/kvm_config.py
> @@ -548,7 +548,8 @@ class configreader:
>          self.filename = filename
>          self.line_index = 0
>          self.lines = []
> -        for line in str.splitlines():
> +        self.real_number = []
> +        for num,line in enumerate(str.splitlines(), 1):

^ enumerate in py 2.4 takes exactly 1 argument, so it's not possible to
provide the enumerate start index like this, 

http://docs.python.org/library/functions.html#enumerate

so we have to do something like:

+        sequence = str.splitlines()[1:]
+        for num,line in enumerate(sequence):

To make it py2.4 compliant.

I have read your patchset, looks good to me. Before applying it, I am
going to give Michael time so he can read the patches as well.

>              line = line.rstrip().expandtabs()
>              stripped_line = line.strip()
>              indent = len(line) - len(stripped_line)
> @@ -557,6 +558,7 @@ class configreader:
>                  or stripped_line.startswith("//")):
>                  continue
>              self.lines.append((line, stripped_line, indent))
> +            self.real_number.append(num)
>  
> 
>      def get_next_line(self):
> @@ -589,6 +591,18 @@ class configreader:
>          """
>          self.line_index = index
>  
> +    def raise_error(self, msg):
> +        """Raise an error related to the last line returned by get_next_line()
> +        """
> +        if self.line_index == 0: # nothing was read. shouldn't happen, but...
> +            line_id = 'BEGIN'
> +        elif self.line_index >= len(self.lines): # past EOF
> +            line_id = 'EOF'
> +        else:
> +            # line_index is the _next_ line. get the previous one
> +            line_id = str(self.real_number[self.line_index-1])
> +        raise error.AutotestError("%s:%s: %s" % (self.filename, line_id, msg))
> +
>  
>  # Array structure:
>  # ----------------


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