Commit 3498fcf1 authored by mvdbeek's avatar mvdbeek
Browse files

Merge branch 'release_20.01' into release_20.05

parents 76cb40de 693191b1
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -44,7 +44,7 @@ cmd2==0.8.9
coloredlogs==14.0
configparser==4.0.2 ; python_version < '3.2'
contextlib2==0.6.0.post1 ; python_version < '3.5'
cryptography==2.9.2
cryptography==3.2.1
cwltool==1.0.20191225192155
debtcollector==1.22.0
decorator==4.4.2
+1 −0
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ _galaxy_setup_environment() {
$integrity_injection
$slots_statement
export GALAXY_SLOTS
export PYTHONWARNINGS="ignore"
GALAXY_VIRTUAL_ENV="$galaxy_virtual_env"
_GALAXY_VIRTUAL_ENV="$galaxy_virtual_env"
PRESERVE_GALAXY_ENVIRONMENT="$preserve_python_environment"
+8 −0
Original line number Diff line number Diff line
@@ -2619,6 +2619,14 @@ simple_mapping(
simple_mapping(
    model.WorkflowInvocationOutputValue,
    workflow_invocation=relation(model.WorkflowInvocation, backref="output_values"),
    workflow_invocation_step=relation(model.WorkflowInvocationStep,
        foreign_keys=[model.WorkflowInvocationStep.table.c.workflow_invocation_id, model.WorkflowInvocationStep.table.c.workflow_step_id],
        primaryjoin=and_(
            model.WorkflowInvocationStep.table.c.workflow_invocation_id == model.WorkflowInvocationOutputValue.table.c.workflow_invocation_id,
            model.WorkflowInvocationStep.table.c.workflow_step_id == model.WorkflowInvocationOutputValue.table.c.workflow_step_id,
        ),
        backref='output_value'
    ),
    workflow_step=relation(model.WorkflowStep),
    workflow_output=relation(model.WorkflowOutput),
)
+6 −10
Original line number Diff line number Diff line
@@ -352,12 +352,6 @@ class WorkflowProgress(object):
        try:
            replacement = step_outputs[output_name]
        except KeyError:
            replacement = self.inputs_by_step_id.get(output_step_id)
            if connection.output_step.type == 'parameter_input' and output_step_id is not None:
                # FIXME: parameter_input step outputs should be properly recorded as step outputs, but for now we can
                # short-circuit and just pick the input value
                pass
            else:
            # Must resolve.
            template = "Workflow evaluation problem - failed to find output_name %s in step_outputs %s"
            message = template % (output_name, step_outputs)
@@ -428,6 +422,8 @@ class WorkflowProgress(object):

    def set_step_outputs(self, invocation_step, outputs, already_persisted=False):
        step = invocation_step.workflow_step
        if invocation_step.output_value:
            outputs[invocation_step.output_value.workflow_output.output_name] = invocation_step.output_value.value
        self.outputs[step.id] = outputs
        if not already_persisted:
            for output_name, output_object in outputs.items():
+18 −0
Original line number Diff line number Diff line
@@ -2289,6 +2289,24 @@ data_input:
  type: File
""", history_id=history_id, wait=True, assert_ok=True)

    def test_run_with_int_parameter_nested(self):
        with self.dataset_populator.test_history() as history_id:
            workflow = self.workflow_populator.load_workflow_from_resource("test_subworkflow_with_integer_input")
            workflow_id = self.workflow_populator.create_workflow(workflow)
            hda = self.dataset_populator.new_dataset(history_id, content="1 2 3")
            workflow_request = {
                'history_id': history_id,
                'workflow_id': workflow_id,
                'inputs_by': 'name',
                'inputs': json.dumps({
                    'input_dataset': {'src': 'hda', 'id': hda['id']},
                    'int_parameter': 1,
                })
            }
            invocation_response = self.workflow_populator.invoke_workflow_raw(workflow_id, workflow_request)
            assert invocation_response.status_code == 200, invocation_response.text
            self.workflow_populator.wait_for_invocation(workflow_id, invocation_response.json()['id'])

    def test_run_with_validated_parameter_connection_default_values(self):
        with self.dataset_populator.test_history() as history_id:
            self._run_jobs(WORKFLOW_PARAMETER_INPUT_INTEGER_DEFAULT, test_data="""
Loading