Commit Graph
63 Commits
Author SHA1 Message Date
Dave Bouvier 871c301e35 Allow specifying the functional tests' install_database_connection with an environment variable. 2014-01-08 14:50:19 -05:00
Greg Von Kuster d26d527bc6 Order imports per database_contexts requirements to fix the tool shed's install and test framework. 2014-01-03 10:02:19 -05:00
Daniel Blankenberg 3db7688a56 Add Functional Testing support for locally and ToolShed installed Data Managers. 2013-12-10 12:59:29 -05:00
Daniel Blankenberg 20e478f210 Allow ftp for GALAXY_TEST_DB_TEMPLATE and stricter check for protocol URL prefixes. 2013-12-10 11:08:13 -05:00
Daniel Blankenberg f370e990e0 Fix for using GALAXY_TEST_DB_TEMPLATE with htTp not specified in all lower case. 2013-12-10 10:54:51 -05:00
Dave Bouvier 048e4af5d7 Use walltime configured in job_conf.xml instead of maxseconds for determining whether a test tool run is stuck. 2013-12-05 13:52:22 -05:00
John Chilton 79c8f59341 Models: Introduce real class for app.model (ModelMapping).
Shared across Tool Shed and Galaxy to reduce code duplication. Previously this was just a bunch, making it a real class allows placing some shared logic in there.

This refactoring also eliminates some global variables galaxy.model.mapping.Session, galaxy.model.mapping.context, and same for tool shed. This may break things, but these are things that should probably be fixed anyway.

In particular small changes to db_shell.py and a unit test that depended on these global variables have been updated. The functional test frameworks likewise needed to be updated to not depend on these - these changes were more substantial.

To fix these functional tests, I essentially replace old references to global variables in Galaxy with references to global variables just defined in the test framework in test/functional/database_contexts.py (a slight improvement).
2013-12-05 00:20:54 -06:00
Greg Von Kuster 340762bbf1 Correctly use the initialized test_environment dict when running the tool shed's install and test framework and additional code cleanup for the framework. 2013-12-04 15:07:39 -05:00
John Chilton c28260faf7 Functional testing of workflows (for Galaxy).
... tool shed integration will be more challenging, but this can be used for directly configured Galaxy tools and outlines a syntax that could be shared with a tool shed driven approach.

The one tricky part is how to match workflow outputs to things to check. Right now it is based on the index of the output across the workflow. This is both difficult to determine and very brittle to workflow modifications - how to proceed - require annontation string to be setup? Modify workflow data model to all assigning names to outputs the way inputs havenames? At any rate this current syntax should be considered beta and may change - if it does Galaxy will not continue to support this syntax.

To run the sample test execute the following test command:

sh run_functional_tests.sh -workflow test-data/workflows/1.xml
2013-11-21 19:17:13 -06:00
John Chilton bf18bea107 Small clean up of argument processing in functional_tests.py 2013-11-21 19:17:13 -06:00
John Chilton 569c5db221 Add new option, tools, and data to functional test framework to test/demonstrate tool framework itself.
Add smaple repeat tool demonstrating some weaknesses of twill-based current framework.
2013-11-21 19:17:12 -06:00
John Chilton 79f645eabc Twill-less tool tests - allow tests with GALAXY_TEST_EXTERNAL...
... if GALAXY_TEST_EXTERNAL is ever fixed.
2013-11-21 19:17:12 -06:00
John Chilton 0e31d6c113 Inject master API key into functional test Galaxy.
Override or set external key with GALAXY_TEST_MASTER_API_KEY.
2013-11-21 19:17:12 -06:00
John Chilton 4ecaf654ea Refactor shared code in functional_tests.py into a method. 2013-11-21 19:17:12 -06:00
John Chilton 6ef8fc7181 Do not reference values before use when GALAXY_TEST_EXTERNAL used.
GALAXY_TEST_EXTERNAL still quite broken.
2013-11-17 00:47:26 -06:00
John Chilton 43a17b3d9b Implement functional test env. variable GALAXY_TEST_DB_TEMPLATE.
Middle ground between recreating a completely new database and pointing at existing database with GALAXY_TEST_DBURI. The former requires a lot of setup time, the latter results in test failures in certain cases (namely tool shed tests expecting clean database).

GALAXY_TEST_DB_TEMPLATE can be either a file path (absolute) or URL.

In order to facilitate this, a new Galaxy config option (database_auto_migrate) has been added. If this option is enabled, when Galaxy starts up and points at an existing database, if that database is not at the newest version it will be automatically migrated. This option defaults to False, but is enabled in testing if GALAXY_TEST_DB_TEMPLATE is set.

I think we should go a step further and make this (database_auto_migrate) default to True if database_connection references an sqlite database - unless we believe there are Galaxy instances out there based on sqlite that are REALLY old or that are production enough to warrent requiring admins to do that database migration in a separate step (presumably encouraging them to make a backup pre-migration). Thoughts?
2013-10-30 00:01:15 -05:00
John Chilton b1e173d214 PEP-8 fixes for scripts/functional_tests.py.
Still contains some unused imports. Perhaps these are reimported elsewhere?
2013-10-30 00:01:15 -05:00
John Chilton 0f63caaff0 Bug fix in scripts/functional_tests.py.
A tempdir is referenced before it is created in certain cases.
2013-10-14 21:50:12 -05:00
Ross Lazarus 8c4f96ed81 backout -r 10808 2013-10-08 10:55:24 +11:00
Ross Lazarus 7938d1fc81 local changes 2013-10-05 09:51:18 +10:00
Carl Eberhard 89c8698169 Functional tests: fix sqlite db_path var; fix api test for hda update with nonsense key 2013-08-21 10:00:09 -07:00
Dave Bouvier 7adc736e16 Fix for case where running functional tests might overwrite certain files in database/files. 2013-08-19 13:06:17 -04:00
Nate Coraor 86f25f3bcf GCC2013 Advanced Tool and Data Source Configuration workshop: "The test framework uses tool_conf.xml.sample for reasons unknown and lost to time."
Use tool_conf.xml for running functional tests, rather than tool_conf.xml.sample.
2013-06-30 10:04:58 -04:00
Dave Bouvier aa0c5c86eb Fix for setting metadata externally when running functional tests. 2013-05-08 15:48:16 -04:00
Dannon Baker ae36520d56 Metadata setting: Always set externally. 2013-05-06 12:50:06 -04:00
Dannon Baker 57c89d742e Functional test setup fix for sqlite -- pool_size is an invalid option in sqlalchemy7+. 2013-04-30 23:24:55 -04:00
Dave Bouvier 8d2655503b Improved documentation for automated repository installation and testing. Handle cases where a repository is missing test data. Limit the list of repositories to test to those that have tools. Update the parse_tool_panel_config method to return a flag specifying whether test data was found for the specified tool panel entry. 2013-03-01 15:13:20 -05:00
Carl Eberhard 2337695990 fix server_env saved output dir name; clean up prev. debugging statements 2013-03-01 12:49:08 -05:00
Dave Bouvier 9b30f6c839 Attempt to resolve issue with tool shed registry when running buildbot functional tests. 2013-02-27 14:12:07 -05:00
Dave Bouvier 36ea9db697 Extension of framework to automate the installation of a list of tool shed repositories to also run any functional tests in the tools contained within each repository. 2013-02-20 14:27:36 -05:00
Carl Eberhard c2898ec7f9 More reporting for buildbot corrections 2013-02-19 20:00:27 -05:00
Carl Eberhard 9ef47fd2b6 functional_tests: fix import 2013-02-19 16:21:16 -05:00
Carl Eberhard ea6393a1a0 functional_tests.py: add debugging statement for app config 2013-02-19 14:31:56 -05:00
Carl Eberhard fdbf75864f Enable serving static files when running functional tests 2013-01-17 14:58:43 -05:00
Carl Eberhard b6d4e00bc2 Fixes to history functional tests; Twilltestcase: added function to parse and check json, exact string matcher 2012-12-10 17:44:11 -05:00
Lance Parsons 0e7a2b7324 Fix for finding test-data for installed tools
See bug: https://trello.com/c/Z0vhJEq6
2012-12-07 17:22:48 -05:00
Greg Von Kuster ed060ddcbe Add the shed_tool_data_table_config to the functional test's app. 2012-11-08 11:41:21 -05:00
Greg Von Kuster 2632e05024 Add a running_functional_tests config setting. 2012-04-18 16:20:17 -04:00
Greg Von Kuster 46c597b5c3 Change new functional test flags to conform more closely to previous command line flags 2012-03-30 09:36:21 -04:00
Greg Von Kuster 816a43c2f9 Enhance the functional test framework to support testing tools contained in installed repositories that were not migrated from the Galaxy distribution. To test these tools, use: sh run_functional_tests.sh --installed 2012-03-29 15:02:36 -04:00
Greg Von Kuster 60c0bdf17b Enhance the functional test framework to support tools migrated from the distribution and installed from the tool shed. To test these tools, use: sh run_functional_tests.sh --migrated 2012-03-29 12:03:14 -04:00
Greg Von Kuster 19862fd03b Update the integrated_toon_conf.xml file only if a new config setting is True. This keeps things that start up the app (like functional tests) from updating the file. 2012-03-14 17:21:03 -04:00
Nate Coraor 445d8494ac Fix extra files display with object store and the distributed object store config. 2011-12-13 00:45:52 -05:00
Nate Coraor 5e96e67f1d Hierarchical object store sample config and functional test capability. 2011-12-08 16:10:18 -05:00
Nate Coraor 44344fe2e0 Fix the dataset controller's stderr method and add one for stdout. Link to
both from the dataset info page.  The functional tests will now provide output
of these on tool test failure.  The functional tests can now use
tool_dependency_dir as well.
2011-12-06 11:29:02 -05:00
Greg Von Kuster 17c5b27cdc Re-engineer the datatypes registry so that it is initialized once when the Galaxy server is started, but data types can continue to be loaded throughout the Galaxy server's session (hopefully this doesn't break anything).
Add support for a single "import_module" to be passed to the new load_datatypes() method in the datatypes registry.  This provides the ability to load a single class module from an installed tool shed repository along with a datatypes_conf.xml file included in the installed repository and pass them to the new load_datatypes() method.  In the future, multiple imported modules may be allowed.  The datatypes_conf.xml file included in the repository must conform to a slightly different definition than the same named file that comes with the distribution.  This new definition will be documented in the Galaxy tool shed wiki.

We now have the ability to load new data types into the Galaxy server from an installed tool shed repository without restarting the Galaxy server.
2011-11-23 16:16:15 -05:00
Ross Lazarus ee6bd2cf46 Changes to allow all test outputs generated by twill to be saved to a folder pointed to by
an environment variable "GALAXY_TEST_SAVE" if defined before running functional tests
If the environment variable is empty, all tests procede as usual and test outputs are deleted
without saving
2011-04-14 08:09:48 -04:00
Greg Von Kuster 8ba7de4c8b Improved checking to determine if a bam file is sorted. If the version of samtools being used is 0.1.13 or newer, determination of bam sorting is now much more robust. Add a new functional test to the test_library_features script that tests uploading a library_dataset (where the file is an unsorted bam file) using a combination of 'upload_paths' and 'link_to_files'. Rename the test-data file previously named 3.bam to now be named 3unsorted.bam to clarify that it is an unsorted bam file. 2011-03-23 12:18:57 -04:00
Nate Coraor 154b8c61ce Bugfix for the last commit when running functional tests with sqlite. 2011-02-28 09:52:17 -05:00
Nate Coraor 8e995a23be Increase the SQLAlchemy SuquePool limits for functional tests. 2011-02-28 07:58:52 -05:00