[lttng-dev] [UST PATCH] Add exception handling to lttng-gen-tp io operations

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Mon Mar 19 13:21:07 EDT 2012


* Yannick Brosseau (yannick.brosseau at gmail.com) wrote:
> (closes: 54)

merged, thanks!

Mathieu

> 
> Signed-off-by: Yannick Brosseau <yannick.brosseau at gmail.com>
> ---
>  tools/lttng-gen-tp |   57 +++++++++++++++++++++++++++++++---------------------
>  1 files changed, 34 insertions(+), 23 deletions(-)
> 
> diff --git a/tools/lttng-gen-tp b/tools/lttng-gen-tp
> index 828bee6..03a85fc 100755
> --- a/tools/lttng-gen-tp
> +++ b/tools/lttng-gen-tp
> @@ -207,6 +207,8 @@ def main(argv=None):
>              opts, args = getopt.gnu_getopt(argv[1:], "ho:a", ["help"])
>          except getopt.error, msg:
>               raise Usage(msg)
> +        if len(args) == 0:
> +            raise Usage("No template file given")
>  
>      except Usage, err:
>          print >>sys.stderr, err.msg
> @@ -256,28 +258,37 @@ def main(argv=None):
>      # process arguments
>      for arg in args:
>  
> -        tpl = TemplateFile(arg)
> -        if doHeader:
> -            if headerFilename:
> -                curFilename = headerFilename
> -            else:
> -                curFilename = re.sub("\.tp$",".h",arg)
> -            doth = HeaderFile(curFilename, tpl)
> -            doth.write()
> -        if doCFile:
> -            if cFilename:
> -                curFilename = cFilename
> -            else:
> -                curFilename = re.sub("\.tp$",".c",arg)
> -            dotc = CFile(curFilename, tpl)
> -            dotc.write()
> -        if doObj:
> -            if objFilename:
> -                curFilename = objFilename
> -            else:
> -                curFilename = re.sub("\.tp$",".o",arg)
> -            dotobj = ObjFile(curFilename, tpl)
> -            dotobj.write()
> -
> +        tpl = None
> +        try:
> +            tpl = TemplateFile(arg)
> +        except IOError as args:
> +            print "Cannot read input file " + args.filename + " " + args.strerror
> +            return -1
> +        try:
> +            if doHeader:
> +                if headerFilename:
> +                    curFilename = headerFilename
> +                else:
> +                    curFilename = re.sub("\.tp$",".h",arg)
> +                doth = HeaderFile(curFilename, tpl)
> +                doth.write()
> +            if doCFile:
> +                if cFilename:
> +                    curFilename = cFilename
> +                else:
> +                    curFilename = re.sub("\.tp$",".c",arg)
> +                dotc = CFile(curFilename, tpl)
> +                dotc.write()
> +            if doObj:
> +                if objFilename:
> +                    curFilename = objFilename
> +                else:
> +                    curFilename = re.sub("\.tp$",".o",arg)
> +                dotobj = ObjFile(curFilename, tpl)
> +                dotobj.write()
> +        except IOError as args:
> +            print "Cannot write output file " + args.filename + " " + args.strerror 
> +            return -1
> +        
>  if __name__ == "__main__":
>      sys.exit(main())
> -- 
> 1.7.9.1
> 
> 
> _______________________________________________
> lttng-dev mailing list
> lttng-dev at lists.lttng.org
> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev

-- 
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com



More information about the lttng-dev mailing list