Mercurial > repos > shellac > guppy_basecaller
diff env/lib/python3.7/site-packages/planemo/commands/cmd_test.py @ 5:9b1c78e6ba9c draft default tip
"planemo upload commit 6c0a8142489327ece472c84e558c47da711a9142"
| author | shellac |
|---|---|
| date | Mon, 01 Jun 2020 08:59:25 -0400 |
| parents | 79f47841a781 |
| children |
line wrap: on
line diff
--- a/env/lib/python3.7/site-packages/planemo/commands/cmd_test.py Thu May 14 16:47:39 2020 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,103 +0,0 @@ -"""Module describing the planemo ``test`` command.""" -import click - -from planemo import options -from planemo.cli import command_function -from planemo.engine import ( - engine_context, -) -from planemo.galaxy import galaxy_config -from planemo.galaxy.config import _find_test_data -from planemo.galaxy.test import ( - handle_reports_and_summary, - run_in_config, -) -from planemo.io import temp_directory -from planemo.runnable import ( - for_paths, - RunnableType, -) - - -@click.command('test') -@options.optional_tools_arg(multiple=True) -@click.option( - "--failed", - is_flag=True, - help="Re-run only failed tests. This command will read " - "tool_test_output.json to determine which tests failed so this " - "file must have been produced with the same set of tool ids " - "previously.", - default=False, -) -@click.option( - "--polling_backoff", - type=int, - help="Poll resources with an increasing interval between requests. " - "Useful when testing against remote and/or production " - "instances to limit generated traffic.", - default="0", -) -@click.option( - "--history_name", - help="Name for history (if a history is generated as part of testing.)" -) -@options.galaxy_target_options() -@options.galaxy_config_options() -@options.test_options() -@options.engine_options() -@command_function -def cli(ctx, paths, **kwds): - """Run specified tool's tests within Galaxy. - - All referenced tools (by default all the tools in the current working - directory) will be tested and the results quickly summarized. - - To run these tests planemo needs a Galaxy instance to utilize, planemo - will search parent directories to see if any is a Galaxy instance - - but one can pick the Galaxy instance to use with the --galaxy_root - option or force planemo to download a disposable instance with the - ``--install_galaxy`` flag. - - In additon to to quick summary printed to the console - various detailed - output summaries can be configured. ``tool_test_output.html`` (settable - via ``--test_output``) will contain a human consumable HTML report - describing the test run. A JSON file (settable via ``--test_output_json`` - and defaulting to ``tool_test_output.json``) will also be created. These - files can can be disabled by passing in empty arguments or globally by - setting the values ``default_test_output`` and/or - ``default_test_output_json`` in ``~/.planemo.yml`` to ``null``. For - continuous integration testing a xUnit-style report can be confiured using - the ``--test_output_xunit``. - - planemo uses temporarily generated config files and environment variables - to attempt to shield this execution of Galaxy from manually launched runs - against that same Galaxy root - but this may not be bullet proof yet so - please careful and do not try this against production Galaxy instances. - """ - with temp_directory(dir=ctx.planemo_directory) as temp_path: - # Create temp dir(s) outside of temp, docker can't mount $TEMPDIR on OSX - runnables = for_paths(paths, temp_path=temp_path) - is_cwl = all(r.type in {RunnableType.cwl_tool, RunnableType.cwl_workflow} for r in runnables) - if kwds.get("engine") is None: - kwds["engine"] = "galaxy" if not is_cwl else "cwltool" - - engine_type = kwds["engine"] - test_engine_testable = {RunnableType.galaxy_tool, RunnableType.galaxy_datamanager, RunnableType.directory} - enable_test_engines = any(r.type not in test_engine_testable for r in runnables) - enable_test_engines = enable_test_engines or engine_type != "galaxy" - if enable_test_engines: - ctx.vlog("Using test engine type %s" % engine_type) - with engine_context(ctx, **kwds) as engine: - test_data = engine.test(runnables) - return_value = handle_reports_and_summary(ctx, test_data.structured_data, kwds=kwds) - else: - ctx.vlog("Running traditional Galaxy tool tests using run_tests.sh in Galaxy root %s" % engine_type) - kwds["for_tests"] = True - if kwds.get('update_test_data'): - non_copied_runnables = for_paths(paths) - kwds['test_data_target_dir'] = _find_test_data(non_copied_runnables, **kwds) - with galaxy_config(ctx, runnables, **kwds) as config: - return_value = run_in_config(ctx, config, **kwds) - - ctx.exit(return_value)
