Files
galaxy/test/functional/tools/expression_pick_larger_file.xml
T
Matthias Bernt e7f94384db fix framework test
loading the test tool failed with:

```
galaxy.tools ERROR 2023-02-01 21:26:03,095 [pN:main,p:50706,tN:WSGI_0] Failed to parse tool tests for tool 'expression_pick_larger_file'
Traceback (most recent call last):
  File "/home/berntm/projects/galaxy/lib/galaxy/tools/__init__.py", line 1193, in tests
    self.__tests = parse_tests(self, tests_source)
  File "/home/berntm/projects/galaxy/lib/galaxy/tools/test.py", line 31, in parse_tests
    raw_tests_dict = tests_source.parse_tests_to_dict()
  File "/home/berntm/projects/galaxy/lib/galaxy/tool_util/parser/xml.py", line 556, in parse_tests_to_dict
    tests.append(_test_elem_to_dict(test_elem, i, profile))
  File "/home/berntm/projects/galaxy/lib/galaxy/tool_util/parser/xml.py", line 602, in _test_elem_to_dict
    inputs=__parse_input_elems(test_elem, i),
  File "/home/berntm/projects/galaxy/lib/galaxy/tool_util/parser/xml.py", line 619, in __parse_input_elems
    return __parse_inputs_elems(test_elem, i)
  File "/home/berntm/projects/galaxy/lib/galaxy/tool_util/parser/xml.py", line 837, in __parse_inputs_elems
    raw_inputs.append(__parse_param_elem(param_elem, i))
  File "/home/berntm/projects/galaxy/lib/galaxy/tool_util/parser/xml.py", line 850, in __parse_param_elem
    value = json.loads(attrib["value_json"])
  File "/usr/lib/python3.10/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3.10/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.10/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
```
2023-02-01 21:40:48 +01:00

45 lines
1.6 KiB
XML

<tool name="expression_pick_larger_file" id="expression_pick_larger_file"
version="0.1.0" tool_type="expression">
<expression type="ecma5.1"><![CDATA[
{
var input1 = $job.input1;
var input2 = $job.input2;
var input1_size = input1 && input1.file_size;
var input2_size = input2 && input2.file_size;
var output;
if( !input2 || !input2_size || input1_size >= input2_size ) {
output = input1.src;
} else {
output = input2.src;
}
return {'output': output};
}
]]></expression>
<inputs>
<param name="input1" type="data" optional="true" label="First file" />
<param name="input2" type="data" optional="true" label="Second file" />
</inputs>
<outputs>
<output name="larger_file" type="data" from="output" />
</outputs>
<tests>
<test>
<param name="input1" value="simple_line.txt" />
<param name="input2" value="simple_line_alternative.txt" />
<output name="larger_file" file="simple_line_alternative.txt"/>
</test>
<test>
<param name="input1" value="simple_line_alternative.txt" />
<param name="input2" value_json="null" />
<output name="larger_file" file="simple_line_alternative.txt"/>
</test>
<test>
<param name="input1" value_json="null" />
<param name="input2" value_json="&quot;simple_line.txt&quot;" />
<output name="larger_file" file="simple_line.txt"/>
</test>
</tests>
<help>
</help>
</tool>