Commit Graph
2460 Commits
Author SHA1 Message Date
John Chilton a87feb11ff Merge pull request #3145 from mvdbeek/fastqgz
Support for gzipped fastq formats
2017-01-11 21:18:22 -05:00
Dannon Baker be530a8494 Merge remote-tracking branch 'upstream/release_16.10' into dev 2017-01-11 13:29:07 -05:00
Eric Rasche 3c494c42e2 Merge pull request #3399 from jmchilton/markdown
Markdown datatype support.
2017-01-11 00:21:12 +00:00
John Chilton 09f0272ede Document how to create Docker testing images.
With fix noted by @martenson.
2017-01-10 15:54:35 -05:00
John Chilton ca40f984b0 Markdown datatype support.
With test tools demonstrating HTML and Markdown outputs from tools.

Implements #3396 as part of the Qiime hackathon.
2017-01-10 15:51:08 -05:00
Björn Grüning 542dc4077f Merge pull request #3391 from jmchilton/resolve_all_at_once
Resolve Conda Dependencies All at Once
2017-01-10 14:15:17 +01:00
John Chilton d1eeafcc8f Test case d1cf0def31. 2017-01-09 15:20:34 -05:00
Björn Grüning 64faeece93 Merge pull request #3286 from jmchilton/slim_test_dockerfile
Slim down testing ``Dockerfile``.
2017-01-08 17:50:05 +01:00
John Chilton c2ac192750 Implement resolve_all on Conda dependency resolver.
This is a somewhat substantial reversal in the typical way that the Conda resolver works. Everything related to caching, copying, linking, and building environments on the fly should now only apply if both of the following conditions are met (1) there is more than one requirement tag in a tool and (2) not all of them are resolvable exactly by the Conda resolver. For recipes that don't meet both of these two criteria - the normal case I would suspect going forward - Galaxy will just look for a hashed environment for these requirements built for all the requirements at once whenever the requirements are installed.

The new 90% case, such environments should be much less buggy for two primary reasons.

- #3299 is solved - in other words Conda is deferred to and if packages have potential conflicts - Conda can choose the right combination of build specifiers to resolve things correctly.
- Environments are no longer built on a per-job basis - this means file system problems related to linking and copying aren't really an issue and complexity related to caching can be safely ignored.

My guess is we should re-write all the Conda docs to make the other use case seem like a corner case - because hopefully it is now.

This commit includes a test tool that wouldn't work without the rewrite I believe.
2017-01-08 08:24:15 -05:00
John Chilton 78b099f3a7 Expand selenium test coverage for workflows.
Expand and then break out workflow management tests into its own file since these aren't related to the workflow editor per se. Includes new tests of workflow "viewing" and "renaming".

Add a new file for testing workflow execution. This currently contains tests for simple execution with a single input and a test for running workflows with tool version upgrades.

This includes a refactoring of some existing tests related to checking various things in the history panel - as part of building up good history panel abstractions. The previous constructs were ported fairly literally from older CasperJS tests. These abstractions therefore referred to everything has "hda"s instead of history items. The newer abstractions therefore allow for collections and are built around HIDs (a visual thing exposed to the user) instead of HDA IDs. I think this is higher-level and more appropriate for a web functional test.

Rebase into workflow GUI tests.
2017-01-08 08:13:42 -05:00
John Chilton 76b8a69c37 Capture page source and DOM of top-level frame on Selenium errors.
Dump to the same directory as the last screenshot related to the error.
2017-01-08 08:13:42 -05:00
John Chilton a0177fe2f4 Add ability to import workflows without Galaxy modifying tool version.
Needed to test workflow tool upgrades when loading workflows, but I think it is good to have a way to preserve the original tool state as well for the sake of absolute reproducibility/tracibility.
2017-01-08 08:13:42 -05:00
John Chilton de35c85b65 Refactor API helpers for re-use in rest of test framework.
- Move api.helpers to base.populators.
- Refactor helper subclasses adapted to use bioblend instead of test framework stuff into base.populators for greater visibility.
- Refactor workflow format 2 testing stuff for reuse by Selenium.
2017-01-08 08:13:42 -05:00
Björn Grüning dad4c60d85 Merge pull request #3381 from jmchilton/rename_improvements
Test cases & small enhancement to workflow renaming PJAs.
2017-01-08 14:07:20 +01:00
Björn Grüning 690b512dbd Merge pull request #3288 from jmchilton/casper2api_0
Migrate more CasperJS API tests to the API test framework.
2017-01-08 13:56:25 +01:00
Björn Grüning bb5d450b32 Merge pull request #3319 from jmchilton/job_resubmission_refinement_0
Make it easier to use job re-submission conditions.
2017-01-08 12:53:24 +01:00
Björn Grüning 41f5ff48ed Merge pull request #3375 from jmchilton/fix_3268
[16.10] Fix implicit conversion for sessionless tool API calls.
2017-01-08 12:35:06 +01:00
Björn Grüning 9843e404b7 Merge pull request #3377 from jmchilton/upload_fix
Fix upload to respect explicit name override on pasted uploads.
2017-01-08 12:34:02 +01:00
Björn Grüning 5a1caa5912 Merge pull request #3387 from jmchilton/docker_fix
Docker Testing Fixes (for Jenkins for instance)
2017-01-08 11:08:13 +01:00
Dannon Baker 387c08b39b Merge branch 'release_16.10' into dev 2017-01-06 11:05:59 -05:00
Dannon Baker 4d73dfc2e0 Merge remote-tracking branch 'upstream/release_16.07' into release_16.10 2017-01-06 10:55:37 -05:00
John Chilton b75ee68d9f Run Galaxy tests in --dockerize mode as UID of tester.
Fixes #1541 and should really help Jenkins clean up after itself.
2017-01-05 14:53:10 -05:00
John Chilton a78ae1bb71 Fix tool shed pre-population against current dev.
I don't know how this ever worked to be honest - but these changes make a lot of sense. I think there was another bug somewhere that prevented this bug from exhibiting itself.
2017-01-05 14:52:06 -05:00
John Chilton c3687114d6 Set metadata on HDAs from dynamically discovered collections.
With test case that previously failed.

Fixes #3267.
2017-01-05 14:48:53 -05:00
John Chilton a18b24e067 Allow rename PJA to target input collections.
Implements #2346 w/test case.
2017-01-05 09:06:19 -05:00
John Chilton d9ffbc433e Test cases for renaming datasets based on tool input datasets.
Includes test cases for #3197 and #662.
2017-01-05 09:06:19 -05:00
John Chilton f854a8b01c Fix upload to respect explicit name override on pasted uploads. 2017-01-05 09:06:06 -05:00
John Chilton 34f0b0fe89 Implement a Galaxy config option for default job re-submission conditions. 2017-01-04 16:11:56 -05:00
John Chilton 8d4f9955a6 Limit adjusting Galaxy's Python environment to legacy tools.
Don't expose Galaxy's environment to tools unless there is evidence we need to. This should restrict future bugs by limitting what tools are exposed to Galaxy's internals and will fix bugs related to Conda dependencies masking Galaxy - such as #2994.

Should fix #2994.

Rebased with language and tool best practice fixes thanks to @mvdbeek.
2017-01-03 13:48:48 -05:00
John Chilton 91c5b76667 Fix upload to respect explicit name override on pasted uploads. 2016-12-31 10:02:48 -05:00
John Chilton 06cc5f5828 Fix implicit conversion for sessionless tool API calls.
Also fixes it for backgrounded workflow invocations (fixes #3268 reported by @guerler).

Includes a new test tool w/test definition  that exercises this functionality. This tool fails without these changes.
2016-12-27 15:16:24 -05:00
John Chilton a0aa70baa0 Fix broken integration test.
It was simply checking the wrong condition.
2016-12-24 16:10:23 -05:00
John Chilton f34bb5e1f6 Don't override Global tempfile.tmpdir for tests.
Tests may bring up multiple Galaxy instances - for integration tests this leads to a longer temp path with each new Galaxy instance brought up. This in turn breaks Conda for tests on Jenkins.
2016-12-24 16:09:15 -05:00
Martin Cech 58c1828c4c Merge pull request #3342 from jmchilton/remove_workflow_testing
Remove workflow testing stuff in test/functional and references.
2016-12-23 23:09:20 +01:00
John Chilton 10720fa4f9 Fixup and test core.history.yaml tour. 2016-12-20 18:06:16 -05:00
John Chilton a5af4d155f Fix Python 3 linting error for #3340. 2016-12-20 13:19:49 -05:00
John Chilton cc32dcae4b Initial tool form and dataset detail selenium testing.
- Test parameters and tables appear on dataset details page after running a tool.
- Test a simple tool execution with an integer field.
- Test re-run a tool.
- Test a tool with a data drop down.
- Improved select2 abstractions.
2016-12-20 12:34:50 -05:00
John Chilton a7818e3065 Remove workflow testing stuff in test/functional and references.
There are more fully developed approaches including Planemo and wft4galaxy (https://github.com/phnmnl/wft4galaxy).
2016-12-20 10:29:31 -05:00
John Chilton 433b993eca Slim down testing `Dockerfile`.
- Remove broken CasperJS from testing Dockerfile.
- Remove multi-process mode.

Multi-process mode was difficult to maintain and the last time I did testing at scale I found docker-galaxy-stable to be much more useful and easy to use. The test framework now supports GALAXY_TEST_EXTERNAL again so it should be easy enough to rig something up with docker-compose that actually uses a best practice container for scaling tests such as those in ``test/manual``.
2016-12-19 10:58:36 -05:00
John Chilton f4282c8672 Merge pull request #3209 from mvdbeek/fix_paired_list
Fix for mapping tools with paired collection input and a structured_like tag over list:paired collections
2016-12-16 12:13:45 -05:00
John Chilton cbd9f68f76 Fixup test case for #3209. 2016-12-16 09:17:08 -05:00
John Chilton 553f781d39 Merge pull request #3294 from annefou/dev
changed ipython to jupyter
2016-12-16 08:34:46 -05:00
John Chilton 521a585a23 Two lint fixes for #3291. 2016-12-14 14:13:43 -05:00
John Chilton 334dfe1b11 Allow (and test) using expressions in job re-submission delays.
So you can backoff re-submission with ``delay="attempt * 30"`` for instance - which will cause a re-submission delay to increase by 30 seconds for each resubmission of a job.
2016-12-14 13:41:30 -05:00
John Chilton 18eb1c8d0e Add seconds_running and seconds_since_queued to condition expression langauge. 2016-12-14 13:41:29 -05:00
John Chilton 325b035475 Add a self re-submission test. 2016-12-14 13:41:29 -05:00
John Chilton 7e338d7909 Add attempt to resubmission expression language. 2016-12-14 13:41:29 -05:00
John Chilton 7d52b28ab2 Allow expressions in job_conf resubmission conditions.
Since we allow dynamic job runners clearly job_conf.xml must be considered a trusted document. Still I know that some are uneasy with eval generally so I only allow a very safe subset of Python expressions in this job_conf document.
2016-12-14 13:41:29 -05:00
John Chilton 0559cff6e9 Implement resubmit on unknown failures. 2016-12-14 13:41:29 -05:00
John Chilton b78287f150 Integration test for advanced job runner stuff.
Set of test cases that cover job resource handlers and resubmit job destinations.
2016-12-14 13:41:28 -05:00