Unverified Commit ee5f8076 authored by Marius van den Beek's avatar Marius van den Beek Committed by GitHub
Browse files

Merge pull request #19222 from wm75/fix-harmonize

[24.0] Create harmonized collections from correct tool outputs
parents 1e6a5c09 891d7aa0
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -3660,14 +3660,13 @@ class HarmonizeTool(DatabaseOperationTool):
        final_sorted_identifiers = [
            element.element_identifier for element in elements1 if element.element_identifier in old_elements2_dict
        ]
        # Raise Exception if it is empty
        if len(final_sorted_identifiers) == 0:
            # Create empty collections:
            output_collections.create_collection(
                next(iter(self.outputs.values())), "output1", elements={}, propagate_hda_tags=False
                self.outputs["output1"], "output1", elements={}, propagate_hda_tags=False
            )
            output_collections.create_collection(
                next(iter(self.outputs.values())), "output2", elements={}, propagate_hda_tags=False
                self.outputs["output2"], "output2", elements={}, propagate_hda_tags=False
            )
            return

@@ -3685,7 +3684,7 @@ class HarmonizeTool(DatabaseOperationTool):
            self._add_datasets_to_history(history, new_elements.values())
            # Create collections:
            output_collections.create_collection(
                next(iter(self.outputs.values())), output_label, elements=new_elements, propagate_hda_tags=False
                self.outputs[output_label], output_label, elements=new_elements, propagate_hda_tags=False
            )

        # Create outputs:
+31 −0
Original line number Diff line number Diff line
@@ -171,6 +171,37 @@
            <output_collection name="output1" type="list" count="0"/>
            <output_collection name="output2" type="list" count="0"/>
        </test>
        <!-- test that collection types get propagated to outputs correctly -->
        <test>
            <param name="input1">
                <collection type="list">
                    <element name="element_1" value="simple_line.txt" />
                </collection>
            </param>
            <param name="input2">
                <collection type="list:paired">
                    <element name="element_1">
                        <collection type="paired">
                            <element name="forward" value="1.fastqsanger" ftype="fastqsanger" />
                            <element name="reverse" value="1.fastqsanger" ftype="fastqsanger" />
                         </collection>
                    </element>
                </collection>
            </param>
            <output_collection name="output1" type="list" count="1">
                <element name="element_1">
                    <assert_contents>
                        <has_text_matching expression="^This is a line of text.\n$" />
                    </assert_contents>
                </element>
            </output_collection>
            <output_collection name="output2" type="list:paired" count="1">
                <element name="element_1">
                    <element name="forward" file="1.fastqsanger" ftype="fastqsanger" />
                    <element name="reverse" file="1.fastqsanger" ftype="fastqsanger" />
                </element>
            </output_collection>
        </test>
    </tests>
    <help><![CDATA[