mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
140 lines
6.4 KiB
XML
140 lines
6.4 KiB
XML
<tool id="detect_errors" name="detect_errors" version="1.0.0">
|
|
<stdio>
|
|
<exit_code range="3:5" level="warning" description="Low disk space" />
|
|
<exit_code range="6:" level="fatal" description="Bad input dataset" />
|
|
<exit_code range="2" level="fatal_oom" description="Out of Memory" />
|
|
<regex match="message" source="stdout" level="log" description="some program message of interest"/>
|
|
<regex match="low space" source="both" level="warning" description="Low space on device" />
|
|
<regex match="error" source="stderr" level="fatal" description="Unknown error encountered" />
|
|
<regex match="out of memory" source="stdout" level="fatal_oom" description="Out of memory error occurred" />
|
|
<regex match="[CG]{12}" description="Fatal error - CG island 12 nts long found" />
|
|
<regex match="^Branch A" level="warning" description="Branch A was taken in execution" />
|
|
</stdio>
|
|
<command><![CDATA[
|
|
#if str($stdoutmsg) != ""
|
|
echo '$stdoutmsg' &&
|
|
#end if
|
|
#if str($stderrmsg) != ""
|
|
>2& echo '$stderrmsg' &&
|
|
#end if
|
|
sh -c 'exit $exit_code'
|
|
]]>
|
|
</command>
|
|
<inputs>
|
|
<param name="stdoutmsg" type="text" value="" label="messages to stdout" />
|
|
<param name="stderrmsg" type="text" value="" label="messages to stderr" />
|
|
<param name="exit_code" type="integer" value="0" label="exit code"/>
|
|
</inputs>
|
|
<outputs>
|
|
<data name="out_file1" />
|
|
</outputs>
|
|
<tests>
|
|
<!-- exit code + regex tests -->
|
|
<!-- successful run (warning exit code + log and warning messages) -->
|
|
<test expect_exit_code="3" expect_failure="false">
|
|
<param name="stdoutmsg" value="message: everything is fine" />
|
|
<param name="stderrmsg" value="low space" />
|
|
<param name="exit_code" value="3" />
|
|
<assert_stdout>
|
|
<has_line line="Log: some program message of interest"/>
|
|
<has_line line="Warning: Low space on device"/>
|
|
</assert_stdout>
|
|
<assert_stderr>
|
|
<has_line line="Warning: Exit code 3 (Low disk space)"/>
|
|
</assert_stderr>
|
|
</test>
|
|
<!-- unccessful run (fatal exit code + warning in output messages are detected) -->
|
|
<test expect_exit_code="23" expect_failure="true">
|
|
<param name="stdoutmsg" value="Branch A seems to be of iterest .. maybe its related to the error?" />
|
|
<param name="exit_code" value="23" />
|
|
<assert_stdout>
|
|
<has_line line="Warning: Branch A was taken in execution"/>
|
|
</assert_stdout>
|
|
<assert_stderr>
|
|
<has_line line="Fatal error: Exit code 23 (Bad input dataset)"/>
|
|
</assert_stderr>
|
|
</test>
|
|
<!-- unccessful run (fatal exit code + fatal_oom message is detected) -->
|
|
<test expect_exit_code="6" expect_failure="true">
|
|
<param name="stdoutmsg" value="out of memory" />
|
|
<param name="exit_code" value="6" />
|
|
<assert_stdout>
|
|
<has_line line="Out of memory error: Out of memory error occurred"/>
|
|
</assert_stdout>
|
|
<assert_stderr>
|
|
<has_line line="Fatal error: Exit code 6 (Bad input dataset)"/>
|
|
</assert_stderr>
|
|
</test>
|
|
<!-- unccessful run (good exit code + fatal message) -->
|
|
<test expect_exit_code="0" expect_failure="true">
|
|
<param name="stdoutmsg" value="CGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCG" />
|
|
<param name="exit_code" value="0" />
|
|
<assert_stdout>
|
|
<has_line line="Fatal error: Fatal error - CG island 12 nts long found"/>
|
|
</assert_stdout>
|
|
</test>
|
|
<!-- unccessful run (fatal oom exit code + fatal_oom message is detected .. latter is expected to be undetected) -->
|
|
<test expect_exit_code="2" expect_failure="true">
|
|
<param name="stdoutmsg" value="out of memory" />
|
|
<param name="exit_code" value="2" />
|
|
<assert_stdout>
|
|
<not_has_text text="Out of memory error: Out of memory error occurred"/>
|
|
<has_line line="out of memory"/>
|
|
</assert_stdout>
|
|
<assert_stderr>
|
|
<has_line line="Out of memory error: Exit code 2 (Out of Memory)"/>
|
|
</assert_stderr>
|
|
</test>
|
|
|
|
<!-- exit code tests -->
|
|
<!-- successful run -->
|
|
<test expect_exit_code="0" expect_failure="false">
|
|
<param name="stdoutmsg" value="everything is fine" />
|
|
<param name="exit_code" value="0" />
|
|
<assert_stdout>
|
|
<has_line line="everything is fine"/>
|
|
</assert_stdout>
|
|
</test>
|
|
<!-- exit code without meaning -->
|
|
<test expect_exit_code="1" expect_failure="false">
|
|
<param name="stdoutmsg" value="everything is fine" />
|
|
<param name="exit_code" value="1" />
|
|
<assert_stdout>
|
|
<has_line line="everything is fine" />
|
|
</assert_stdout>
|
|
</test>
|
|
<!-- exit code indicating warning -->
|
|
<test expect_exit_code="4" expect_failure="false">
|
|
<param name="stdoutmsg" value="everything is fine" />
|
|
<param name="exit_code" value="4" />
|
|
<assert_stdout>
|
|
<has_line line="everything is fine" />
|
|
</assert_stdout>
|
|
</test>
|
|
<!-- exit code indicating error -->
|
|
<test expect_exit_code="42" expect_failure="true">
|
|
<param name="stdoutmsg" value="everything just seems fine so far... but it isn't" />
|
|
<param name="exit_code" value="42" />
|
|
<assert_stdout>
|
|
<has_line line="everything just seems fine so far... but it isn__sq__t" />
|
|
</assert_stdout>
|
|
<assert_stderr>
|
|
<has_line line="Fatal error: Exit code 42 (Bad input dataset)" />
|
|
</assert_stderr>
|
|
</test>
|
|
<!-- exit code indicating oom_error -->
|
|
<test expect_exit_code="2" expect_failure="true">
|
|
<param name="stdoutmsg" value="everything just seems fine so far... but it isn't" />
|
|
<param name="exit_code" value="2" />
|
|
<assert_stdout>
|
|
<has_line line="everything just seems fine so far... but it isn__sq__t" />
|
|
</assert_stdout>
|
|
<assert_stderr>
|
|
<has_line line="Out of memory error: Exit code 2 (Out of Memory)" />
|
|
</assert_stderr>
|
|
</test>
|
|
</tests>
|
|
<help>
|
|
</help>
|
|
</tool>
|