comparison diff.xml @ 4:10ef1bf99074 draft default tip

planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/diff commit 1a6c4a793ef68a43de93316523c1cd9196d80b73
author bgruening
date Mon, 09 Dec 2024 14:36:40 +0000
parents 156d0908e232
children
comparison
equal deleted inserted replaced
3:156d0908e232 4:10ef1bf99074
1 <tool id="diff" name="diff" version="@TOOL_VERSION@+galaxy@GALAXY_VERSION@"> 1 <tool id="diff" name="diff" version="@TOOL_VERSION@+galaxy@GALAXY_VERSION@" profile="23.0">
2 <description>analyzes two files and generates an unidiff text file with information about the differences and an optional Html report</description> 2 <description>analyzes two files and generates an unidiff text file with information about the differences and an optional Html report</description>
3 <macros> 3 <macros>
4 <token name="@TOOL_VERSION@">3.7</token> 4 <token name="@TOOL_VERSION@">3.10</token>
5 <token name="@GALAXY_VERSION@">0</token> 5 <token name="@GALAXY_VERSION@">0</token>
6 </macros> 6 </macros>
7 <requirements> 7 <requirements>
8 <requirement type="package" version="@TOOL_VERSION@">diffutils</requirement> 8 <requirement type="package" version="@TOOL_VERSION@">diffutils</requirement>
9 <requirement type="package" version="4.8">sed</requirement> 9 <requirement type="package" version="4.8">sed</requirement>
11 <stdio> 11 <stdio>
12 <exit_code range="2:" level="fatal" description="Something went wrong trying to check differences in files. Please check output log for more details."/> 12 <exit_code range="2:" level="fatal" description="Something went wrong trying to check differences in files. Please check output log for more details."/>
13 <regex match="diff: memory exhausted" source="stdout" level="fatal_oom" description="Out of memory error occurred"/> 13 <regex match="diff: memory exhausted" source="stdout" level="fatal_oom" description="Out of memory error occurred"/>
14 </stdio> 14 </stdio>
15 <command><![CDATA[ 15 <command><![CDATA[
16 diff -u '$input1' '$input2' > '$diff_file'; 16 diff
17 #if $generate_report: 17 #if $report_format.report_format_select == 'txt_lines' or $report_format.report_format_select == 'html'
18 ## the -u option is needed to convert the output later to HTML
19 --unified=$report_format.unified
20 #else if $report_format.report_format_select == 'txt_columns'
21 -y
22 #end if
23 ## If the compared input files differ the diff command returns exit-code 1
24 '$input1' '$input2' > '$diff_file' || [ \$? -eq 1 ];
25 #if $report_format.report_format_select == 'html'
18 sed -e 's/@@title@@/Diff report for "$input1.element_identifier" and "$input2.element_identifier"/g' 26 sed -e 's/@@title@@/Diff report for "$input1.element_identifier" and "$input2.element_identifier"/g'
19 -e 's/@@outputformat@@/'$output_format'/g' 27 -e 's/@@outputformat@@/'$report_format.output_format'/g'
20 -e '/@@diffoutput@@/{r'$diff_file'' -e ';d}' 28 -e '/@@diffoutput@@/{r'$diff_file'' -e ';d}'
21 '$__tool_directory__/template.html' > '$html_file' 29 '$__tool_directory__/template.html' > '$html_file'
22 #end if 30 #end if
23 ]]> 31 ]]>
24 </command> 32 </command>
25 <inputs> 33 <inputs>
26 <param name="input1" type="data" format="txt" label="First input file"/> 34 <param name="input1" type="data" format="txt" label="First input file"/>
27 <param name="input2" type="data" format="txt" label="Second input file"/> 35 <param name="input2" type="data" format="txt" label="Second input file"/>
28 <param name="generate_report" type="boolean" checked="true" truevalue="true" falsevalue="false" label="Generate HTML report" help="Generates an HTML report to visualize the differences"/> 36 <conditional name="report_format">
29 <param name="output_format" type="select" label="Choose report output format" help="Displays the differences in the report using the selected format. Either line by line or side by side."> 37 <param name="report_format_select" type="select" label="Choose a report format">
30 <option value="side-by-side">Side by side</option> 38 <option value="txt_lines">Text file, line-by-line (-u)</option>
31 <option value="line-by-line">Line by line</option> 39 <option value="txt_columns">Text file, side-by-side (-y)</option>
32 </param> 40 <option value="html">Generates an HTML report to visualize the differences</option>
41 </param>
42 <when value="txt_lines">
43 <param argument="--unified" type="integer" min="0" value="3" label="Output this amount of lines of unified context"/>
44 </when>
45 <when value="txt_columns"/>
46 <when value="html">
47 <param argument="--unified" type="integer" min="0" value="3" label="Output this amount of lines of unified context"/>
48 <param name="output_format" type="select" label="Choose report output format" help="Displays the differences in the report using the selected format. Either line by line or side by side.">
49 <option value="side-by-side">Side by side</option>
50 <option value="line-by-line">Line by line</option>
51 </param>
52 </when>
53 </conditional>
33 </inputs> 54 </inputs>
34 <outputs> 55 <outputs>
35 <data format="txt" name="diff_file" from_work_dir="output.txt" label="${tool.name} on ${on_string}: Raw Output"/> 56 <data format="txt" name="diff_file" from_work_dir="output.txt" label="${tool.name} on ${on_string}: Raw Output"/>
36 <data format="html" name="html_file" from_work_dir="output.html" label="${tool.name} on ${on_string}: Html Report"> 57 <data format="html" name="html_file" from_work_dir="output.html" label="${tool.name} on ${on_string}: Html Report">
37 <filter>generate_report is True</filter> 58 <filter>report_format['report_format_select'] == 'html'</filter>
38 </data> 59 </data>
39 </outputs> 60 </outputs>
40 <tests> 61 <tests>
41 <test expect_exit_code="0" expect_failure="false" expect_num_outputs="1"> 62 <test expect_exit_code="0" expect_failure="false" expect_num_outputs="1">
42 <param name="input1" value="file1.txt"/> 63 <param name="input1" value="file1.txt"/>
43 <param name="input2" value="file1.txt"/> 64 <param name="input2" value="file1.txt"/>
44 <param name="generate_report" value="false"/> 65 <conditional name="report_format">
66 <param name="report_format_select" value="txt_lines"/>
67 </conditional>
45 <output name="diff_file"> 68 <output name="diff_file">
46 <assert_contents> 69 <assert_contents>
47 <has_n_lines n="0"/> 70 <has_n_lines n="0"/>
48 </assert_contents> 71 </assert_contents>
49 </output> 72 </output>
50 </test> 73 </test>
51 <test expect_exit_code="1" expect_failure="false" expect_num_outputs="1"> 74 <test expect_exit_code="0" expect_failure="false" expect_num_outputs="1">
52 <param name="input1" value="file1.txt"/> 75 <param name="input1" value="file1.txt"/>
53 <param name="input2" value="file2.txt"/> 76 <param name="input2" value="file2.txt"/>
54 <param name="generate_report" value="false"/> 77 <conditional name="report_format">
78 <param name="report_format_select" value="txt_lines"/>
79 </conditional>
55 <output name="diff_file"> 80 <output name="diff_file">
56 <assert_contents> 81 <assert_contents>
57 <has_n_lines n="5"/> 82 <has_n_lines n="5"/>
58 <has_line line=" a"/> 83 <has_line line=" a"/>
59 <has_line line="+b"/> 84 <has_line line="+b"/>
61 </output> 86 </output>
62 </test> 87 </test>
63 <test expect_exit_code="0" expect_failure="false" expect_num_outputs="2"> 88 <test expect_exit_code="0" expect_failure="false" expect_num_outputs="2">
64 <param name="input1" value="file1.txt"/> 89 <param name="input1" value="file1.txt"/>
65 <param name="input2" value="file2.txt"/> 90 <param name="input2" value="file2.txt"/>
66 <param name="generate_report" value="true"/> 91 <conditional name="report_format">
67 <output name="html_file"> 92 <param name="report_format_select" value="html"/>
68 <assert_contents> 93 </conditional>
69 <has_text text="!DOCTYPE html"/> 94 <output name="html_file">
70 </assert_contents> 95 <assert_contents>
71 </output> 96 <has_text text="!DOCTYPE html"/>
72 </test> 97 </assert_contents>
73 <test expect_exit_code="0" expect_failure="false" expect_num_outputs="2"> 98 </output>
74 <param name="input1" value="file1.txt"/> 99 </test>
75 <param name="input2" value="file2.txt"/> 100 <test expect_exit_code="0" expect_failure="false" expect_num_outputs="2">
76 <param name="generate_report" value="true"/> 101 <param name="input1" value="file1.txt"/>
77 <param name="output_format" value="side-by-side"/> 102 <param name="input2" value="file2.txt"/>
103 <conditional name="report_format">
104 <param name="report_format_select" value="html"/>
105 <param name="output_format" value="side-by-side"/>
106 </conditional>
78 <output name="html_file"> 107 <output name="html_file">
79 <assert_contents> 108 <assert_contents>
80 <has_text text="!DOCTYPE html"/> 109 <has_text text="!DOCTYPE html"/>
81 <has_text text="side-by-side"/> 110 <has_text text="side-by-side"/>
82 </assert_contents> 111 </assert_contents>
83 </output> 112 </output>
84 </test> 113 </test>
85 <test expect_exit_code="0" expect_failure="false" expect_num_outputs="2"> 114 <test expect_exit_code="0" expect_failure="false" expect_num_outputs="2">
86 <param name="input1" value="file1.txt"/> 115 <param name="input1" value="file1.txt"/>
87 <param name="input2" value="file2.txt"/> 116 <param name="input2" value="file2.txt"/>
88 <param name="generate_report" value="true"/> 117 <conditional name="report_format">
89 <param name="output_format" value="line-by-line"/> 118 <param name="report_format_select" value="html"/>
119 <param name="output_format" value="line-by-line"/>
120 </conditional>
90 <output name="html_file"> 121 <output name="html_file">
91 <assert_contents> 122 <assert_contents>
92 <has_text text="!DOCTYPE html"/> 123 <has_text text="!DOCTYPE html"/>
93 <has_text text="line-by-line"/> 124 <has_text text="line-by-line"/>
94 </assert_contents> 125 </assert_contents>
95 </output> 126 </output>
96 </test> 127 </test>
97 <test expect_exit_code="0" expect_failure="false" expect_num_outputs="2"> 128 <test expect_exit_code="0" expect_failure="false" expect_num_outputs="2">
98 <param name="input1" value="file 3.txt"/> 129 <param name="input1" value="file3.txt"/>
99 <param name="input2" value="file 3.txt"/> 130 <param name="input2" value="file3.txt"/>
100 <param name="generate_report" value="true"/> 131 <conditional name="report_format">
132 <param name="report_format_select" value="html"/>
133 <param name="output_format" value="side-by-side"/>
134 </conditional>
101 <output name="diff_file"> 135 <output name="diff_file">
102 <assert_contents> 136 <assert_contents>
103 <has_n_lines n="0"/> 137 <has_n_lines n="0"/>
104 </assert_contents> 138 </assert_contents>
105 </output> 139 </output>