Commit Graph
255 Commits
Author SHA1 Message Date
cat-bro 58f767d296 breaking test for GalaxyInteractorApi get_tool_tests 2021-04-29 23:50:12 +10:00
M Bernt 08fbff5844 tests for multiple value splitter 2021-04-06 18:32:19 +02:00
John Chilton a6f3b255cb Merge pull request #11764 from mvdbeek/fix_format_input_implicit_conversion
[21.01] Fix format="input" with implicit conversions
2021-04-01 10:45:55 -04:00
mvdbeek 7eb853d703 Fix format="input" with implicit conversions
where the implicit converter uses galaxy.json.

Add test, fix fix
2021-03-31 22:06:39 +02:00
Anthony Bretaudeau 4adeca0e86 Merge remote-tracking branch 'upstream/release_21.01' into pulsar_tool_dir 2021-03-25 16:53:34 +01:00
John Chilton 8f9bdd6eb5 Failing test case for output problem. 2021-03-14 19:58:31 -04:00
Anthony Bretaudeau b13a412133 Add test case for https://github.com/galaxyproject/pulsar/issues/249 2021-03-11 16:17:06 +01:00
Kaivan Kamali d423b29336 Added another test for when columns are a comma separated string 2021-03-10 10:26:41 +01:00
Matthias Bernt 5b92a04cba add test tool testing collection default format 2021-03-04 18:37:17 +01:00
Nicola Soranzo f99fbd4981 Merge pull request #11073 from mvdbeek/empty_work_dir_outputs_v3 2021-01-07 19:01:05 +00:00
John Chilton 144ebce8f4 Verify behavior of non-existent from_work_dir outputs. 2021-01-07 15:29:23 +01:00
John Chilton d8080bcd70 wf refactor API - add upgrade_tool action 2021-01-03 19:52:28 -05:00
John Chilton bb3f77b981 Implement pick_values expression tool...
... for CWL-style merging of conditional branches in native Galaxy workflows.

I have CWL conditionals working down stream - the simply attach an expression to steps of the workflow and replace all the outputs with null values if the expression does not evaluate to "true". This is the CWL way of "branching" in conditionals, the matching CWL syntax for merging branches is simply to pick non-null values from various branches to continue the workflow with. This tool would is a very natural Galaxy way of doing that.

This tool could be used to build some cool conditional logic with collections without even needing the forthcoming 'when' expressions on workflow steps. Imagine for instance, we added a "Replace Failed" (or "Replace Empty") collection operation to match "Filter Failed" (or "Filter Empty") that could replace collection elements with 'null' values or a supplied default. We could then run two different algorthims across a list (e.g. one that works well for small datasets but fails out for large ones and one that works well with large datasets) and then run "Replace Failed" with null values and then map both results over this tool. Using purely data flow constructs you've picked the right tool for each element of a list.

I haven't added this to the default tool panel yet though, might be worth waiting for either those when branching expressions or more collection operation tool support.
2020-11-17 11:46:36 +01:00
John Chilton 75bcdf6b2d Null handling and optional values for integers, floats, and text parameters. 2020-11-12 15:08:35 -05:00
John Chilton 9e8530c074 Allow expression tools to output copies of input HDAs.
Important for conditional logic, etc... Also tests null file handling in expression tools and tool test plumbing.
2020-11-12 08:42:31 -05:00
John Chilton a7a8754e24 Harden, formalize 'null' handling around booelan tool parameters and between workflow steps.
Important for expression tools and implementing CWL-style conditionals.
2020-11-11 19:44:16 -05:00
M Bernt 7b4e2b54db data_meta: add separate test for paired collection
otherwise the failing test can not be detected correctly
2020-11-02 17:41:31 +01:00
M Bernt bbb412d516 dynamic options: from_dataset accept collections and multiple datasets 2020-11-02 17:41:31 +01:00
M Bernt 0543324ee3 data_meta: add docs and test 2020-11-02 17:34:17 +01:00
Nicola Soranzo 57d6a3857d Merge branch 'release_20.05' into dev 2020-10-06 18:20:36 +01:00
Nicola Soranzo c50509bc6f Respect `use_shared_home="false"` when running tools in container
When a tool doesn't specify a `profile` (or sets a `profile` < 18.01) but use
``use_shared_home="false"`` to ask to set a HOME within the job's directory
(normally because the underlying tool writes to the home directory), this
works as expected when resolving dependencies with conda.
But when running the same tool in a Docker container (e.g. via
`planemo test --biocontainers`), the job script didn't export a temporary
HOME into the container (which instead setting `profile="18.01"` correctly
does).

Also add several integration tests for `use_shared_home`, of which
`DockerizedJobsIntegrationTestCase.test_container_job_environment_explicit_isolated_home`
would fail without this fix.
2020-09-29 17:48:13 +01:00
Marius van den Beek aace792ce2 Merge pull request #9684 from bernt-matthias/topic/sort_by2
xsd, docs, and test for sort_by (discover_datasets)
2020-09-18 09:58:40 +02:00
Matthias Bernt 77fc9a0997 fix docs & add test for discover_datasets sort_by
- order of sort_comp and sort_by was wrong for
  sort_by in collections
- sort_by was missing for data output
- adds a test (though we can't check the generated
  order .. I manually tested with `planemo serve`)
2020-09-14 13:56:06 +02:00
John Chilton 9fb3a490dc Add infrastructure for writing to pluggable galaxy file sources. 2020-09-10 09:37:50 -04:00
M Bernt c5e3056307 add test for assigning ext and dbkey to primary dataset 2020-09-09 10:35:14 +02:00
John Chilton 4626f714bb Simplified workflow run form.
Builds on refactoring the workflow run form landing and orchestration into Vue (#9147).

Implements #9111 - part of https://github.com/galaxyproject/galaxy/projects/15 and outlined in http://bit.ly/simplified-workflow-ui.

What is in the PR:

- Add new Galaxy configuration option - ``simplified_workflow_run_ui`` set to ``off`` by default.
- If instead the admin has set this parameter to ``prefer``, on the workflow run page scan the workflow run request and if three conditions are met show a simplfied tool form. These conditions are:
  - No workflow "resource parameters" - pretty niche, not documented, I don't think anyone outside of Canada is using them and even them I'm not sure if they ever got to production.
  - No "open" tools (i.e. tools with disconnected runtime inputs).
  - No "replacement parameters" defined outside PJAs. I'm calling #{} inside PJA and ${} inside tool steps both "replacement parameters" because the user populates them the same way in the GUI. The API only handles them inside the context of the PJA - it seems the GUI is responsible for replacing them at runtime in the traditional form.
- The simplified workflow form:
   - Drops tool and subworkflow steps from rendering all together and instead just renders the inputs. These are not rendered as separate "steps" or forms - but as just different inputs the same clean, simple form (more the like tool GUI). Labels (or step indexes as a fallback) are used at the input name, step annotations are used as the input help text.
   - Simplify the workflow request made by the client - send only replacement parameters and inputs - do not serialize tool state for each module. I think this makes what we are tracking more structured and should be more performant as well. Prevents storing HDA IDs in unstructured JSON blobs in the database as well.
   - Drops history target option to simplify the UI - simplified_workflow_run_ui_target_history can be set to either 'current' or 'new' to adjust this parameter Galaxy-wide for the simplified form.
   - Drops job caching option to simplify the UI - simplified_workflow_run_ui_cache can be set to 'off' or 'on' to change this parameter Galaxy-wide for the simplified form.
   - Drops resource parameters - we've already verified there are none for simplified workflows.
2020-08-13 15:43:03 -04:00
Matthias Bernt 657b155238 actually set -e for non-legacy tools
before strict mode was only used if the command block
was absent
2020-07-06 17:05:11 +02:00
Dave B d638804ab4 Use configuration to activate a filter for testing. 2020-06-03 13:35:19 -04:00
Matthias Bernt 94f7177ba5 use packaging for version comparison add test 2020-05-22 11:42:42 +02:00
Nicola Soranzo a079fa0127 Merge branch 'release_20.01' into release_20.05 2020-05-07 16:09:13 +01:00
Nuwan Goonasekera 65476e6e32 Force container image names to lower case to satisfy Docker 2020-05-07 01:52:40 +05:30
M BerntandMarius van den Beek a9458485f8 add delta_frac attribute to specify relative size differences
the files generated in a test are allowed to differ (+-)
by delta_frac * size_of_the_test_file

use case: I develop a a lare tool collection where some files
differ much (ususally the large files) and some only a bit
(the small files). by applying a large delta to all files
meaningful differences in small files are not detected.

Co-authored-by: Marius van den Beek <m.vandenbeek@gmail.com>
2020-05-05 13:29:47 +02:00
John Chilton 46fc861fb6 Implement mapping container resolver. 2019-12-06 10:44:34 -05:00
John Chilton 8807a8f39f Separate new inject tests into new tool. 2019-10-30 10:09:34 -04:00
Bjoern Gruening 924ed11fe4 standartise naming of IT test tools 2019-08-31 13:32:37 +02:00
John Chilton 55b384cc50 Add ability to collect QC from jobs. 2019-08-22 15:45:25 -04:00
John Chilton 3d897b352f Merge pull request #8211 from bernt-matthias/topic/filter-static-regex
new regular expression filter, and efficient sort filter
2019-08-22 11:39:20 -04:00
M Bernt 96db74d0f4 add tests for static_value and regexp filter 2019-08-18 16:22:06 +02:00
John Chilton 03e9a6fe0b Integration testing for RTT API hooks. 2019-05-21 17:00:52 -04:00
mvdbeek 974f45b043 Allow mapping over of expression tool params
This allows feeding a collection of parameters values to a parameter
value. This enables https://github.com/galaxyproject/tools-iuc/pull/2404#issuecomment-491740393
for instance, where we normalize a collection based on a computed
parameter.
2019-05-14 00:14:34 +02:00
Bjoern Gruening 75c53409a0 add datatype and tool to the tests 2019-04-29 09:50:00 +02:00
mvdbeek 272a136970 Add test tools for implicit coversion of collection input 2019-04-08 18:33:57 +02:00
John Chilton f5c93e868b Implement expression tools and non-data tool outputs.
PR #6925 introduced a GUI for connecting non-data (e.g. integer, boolean, color, etc..) workflow input parameter to tool input parameters (the backend for this was originally added in #1306). That ideally was just the beginning of work toward using such values in structured ways in workflows.

This PR extends tool output handling to allow producing of non-data parameters. These can serve as a source for non-data values in workflows the same work workflow input parameters can. To make such values more easy to produce, this PR also introduces Galaxy expression tools - mirroring functionality regularly used in CWL. These small JavaScript-based tools that consume inputs just like a regular Galaxy tool but that produce dictionary of non-data values.

I think these expressions will be maximally useful when paired with format 2 workflows once we allow users to load arbitrary tools (I make the case more in full here https://github.com/galaxyproject/galaxy/pull/7545#issuecomment-473894424), but I outline some potential uses there as well.

Because there is always a checklist in my PR descriptions:

- Tool definition language and plumbing and datatype for expressing expressions as jobs.
- Allow connecting expression tools to parameters in workflows, will delay evaluation of workflow so calculated value
- Example test expression tools for testing and demonstration.
2019-03-19 17:20:18 -04:00
Nicola Soranzo 417292b501 Merge branch 'release_19.01' into dev 2019-03-10 21:44:29 +00:00
Martin Cech c714b6e665 Merge pull request #7288 from fmareuil/dev
Add a validator that ensures one metadata is between min and max values
2019-03-07 12:17:17 -05:00
John Chilton b47a8631bb Track job failure reasons in a more structured way. 2019-03-04 15:38:45 -05:00
mvdbeek 76be1263ca Test that workflows with hidden params can be run 2019-03-04 18:41:51 +01:00
Martin Cech cb7566ef02 Merge pull request #7400 from thermokarst/zippertest
ENH: multifile zip testing
2019-03-02 14:08:59 -05:00
mvdbeek 05481d57a1 Add tool test for metadata_in_range
Reduce copy and paste by inheriting from InRangeValidator and
add new validator to xsd schema.
2019-02-27 21:50:13 +01:00
Matthew Dillon 091fe8121a SQUASH: Adding in other archive containers
Per discussion with @bgruening
2019-02-26 16:43:23 -07:00