Planemo test fail if sys.error writen to

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Planemo test fail if sys.error writen to

Christian Brenninkmeijer
Hi,

I have noticed that Planemo (0.11.1) causes tests to fail if anything is written to sys.error.

For example if I test the following simple python:

import sys
if __name__ == '__main__':
    #sys.stderr.write("This is a test")
    print "Done"           

My test pass;
But if I remove the comment:

import sys
if __name__ == '__main__':
    sys.stderr.write("This is a test")
    print "Done"           

The test fails!

Is there a way to tell planemo that it is ok if the program writes to sys.error?
Assuming of course a normal 0 exit as above.

Without this it wuld be impossible to test any tool that wraps code that writes to sys.error such things as warning message up %done.

Thanks in advance
Christian Brenninkmeijer
University of Manchester







___________________________________________________________
Please keep all replies on the list by using "reply all"
in your mail client.  To manage your subscriptions to this
and other Galaxy lists, please use the interface at:
  https://lists.galaxyproject.org/

To search Galaxy mailing lists use the unified search at:
  http://galaxyproject.org/search/mailinglists/
Reply | Threaded
Open this post in threaded view
|

Re: Planemo test fail if sys.error writen to

Peter Cock
Hi Christian,

Can you show the complete example tool? In particular, what is the
XML wrapper's <stdio> tag? By default Galaxy does treat anything
on stderr as an error. See:
https://wiki.galaxyproject.org/Admin/Tools/ToolConfigSyntax

Peter

On Thu, May 14, 2015 at 11:54 AM, Christian Brenninkmeijer
<[hidden email]> wrote:

> Hi,
>
> I have noticed that Planemo (0.11.1) causes tests to fail if anything is
> written to sys.error.
>
> For example if I test the following simple python:
>
> import sys
> if __name__ == '__main__':
>     #sys.stderr.write("This is a test")
>     print "Done"
>
> My test pass;
> But if I remove the comment:
>
> import sys
> if __name__ == '__main__':
>     sys.stderr.write("This is a test")
>     print "Done"
>
> The test fails!
>
> Is there a way to tell planemo that it is ok if the program writes to
> sys.error?
> Assuming of course a normal 0 exit as above.
>
> Without this it wuld be impossible to test any tool that wraps code that
> writes to sys.error such things as warning message up %done.
>
> Thanks in advance
> Christian Brenninkmeijer
> University of Manchester
>
>
>
>
>
>
>
> ___________________________________________________________
> Please keep all replies on the list by using "reply all"
> in your mail client.  To manage your subscriptions to this
> and other Galaxy lists, please use the interface at:
>   https://lists.galaxyproject.org/
>
> To search Galaxy mailing lists use the unified search at:
>   http://galaxyproject.org/search/mailinglists/
___________________________________________________________
Please keep all replies on the list by using "reply all"
in your mail client.  To manage your subscriptions to this
and other Galaxy lists, please use the interface at:
  https://lists.galaxyproject.org/

To search Galaxy mailing lists use the unified search at:
  http://galaxyproject.org/search/mailinglists/