toil.test.wdl.wdltoil_test

Attributes

logger

WDL_CONFORMANCE_TEST_REPO

WDL_CONFORMANCE_TEST_COMMIT

WDL_CONFORMANCE_TESTS_UNSUPPORTED_BY_TOIL

WDL_UNIT_TESTS_UNSUPPORTED_BY_TOIL

Classes

TestWDLConformance

WDL conformance tests for Toil.

TestWDL

Tests for Toil's MiniWDL-based implementation.

TestWDLToilBench

Tests for Toil's MiniWDL-based implementation that don't run workflows.

Functions

wdl_conformance_test_repo(tmp_path)

Module Contents

toil.test.wdl.wdltoil_test.logger
toil.test.wdl.wdltoil_test.WDL_CONFORMANCE_TEST_REPO = 'https://github.com/DataBiosphere/wdl-conformance-tests.git'
toil.test.wdl.wdltoil_test.WDL_CONFORMANCE_TEST_COMMIT = 'baf44bcc7e6f6927540adf77d91b26a5558ae4b7'
toil.test.wdl.wdltoil_test.WDL_CONFORMANCE_TESTS_UNSUPPORTED_BY_TOIL = [16, 21, 64, 77]
toil.test.wdl.wdltoil_test.WDL_UNIT_TESTS_UNSUPPORTED_BY_TOIL = [14, 19, 52, 58, 59, 66, 67, 68, 69, 87, 97, 105, 107, 108, 109, 110, 120, 131, 134, 144]
toil.test.wdl.wdltoil_test.wdl_conformance_test_repo(tmp_path)
Parameters:

tmp_path (pathlib.Path)

Return type:

collections.abc.Generator[pathlib.Path]

class toil.test.wdl.wdltoil_test.TestWDLConformance

WDL conformance tests for Toil.

check(p)

Make sure a call completed or explain why it failed.

Parameters:

p (subprocess.CompletedProcess[bytes])

Return type:

None

test_unit_tests_v11(wdl_conformance_test_repo)
Parameters:

wdl_conformance_test_repo (pathlib.Path)

Return type:

None

test_conformance_tests_v10(wdl_conformance_test_repo)
Parameters:

wdl_conformance_test_repo (pathlib.Path)

Return type:

None

test_conformance_tests_v11(wdl_conformance_test_repo)
Parameters:

wdl_conformance_test_repo (pathlib.Path)

Return type:

None

test_conformance_tests_integration(wdl_conformance_test_repo)
Parameters:

wdl_conformance_test_repo (pathlib.Path)

Return type:

None

class toil.test.wdl.wdltoil_test.TestWDL

Tests for Toil’s MiniWDL-based implementation.

base_command
test_MD5sum(tmp_path)

Test if Toil produces the same outputs as known good outputs for WDL’s GATK tutorial #1.

Parameters:

tmp_path (pathlib.Path)

Return type:

None

test_url_to_file(tmp_path)

Test if web URL strings can be coerced to usable Files.

Parameters:

tmp_path (pathlib.Path)

Return type:

None

test_string_file_coercion(tmp_path)

Test if input Files can be coerced to string and back.

Parameters:

tmp_path (pathlib.Path)

Return type:

None

test_wait(tmp_path)

Test if Bash “wait” works in WDL scripts.

Parameters:

tmp_path (pathlib.Path)

Return type:

None

test_restart(tmp_path)

Test if a WDL workflow can be restarted and finish successfully.

Parameters:

tmp_path (pathlib.Path)

Return type:

None

test_workflow_file_deletion(tmp_path)

Test if Toil can delete non-output outputs at the end of a workflow.

Parameters:

tmp_path (pathlib.Path)

Return type:

None

test_all_call_outputs(tmp_path)

Test if Toil can collect all call outputs from a workflow that doesn’t expose them.

Parameters:

tmp_path (pathlib.Path)

Return type:

None

test_croo_detection(tmp_path)

Test if Toil can detect and do something sensible with Cromwell Output Organizer workflows.

Parameters:

tmp_path (pathlib.Path)

Return type:

None

test_caching(tmp_path)

Test if Toil can cache task runs.

Parameters:

tmp_path (pathlib.Path)

Return type:

None

test_url_to_optional_file(tmp_path)

Test if missing and error-producing URLs are handled correctly for optional File? values.

Parameters:

tmp_path (pathlib.Path)

Return type:

None

test_missing_output_directory(tmp_path)

Test if Toil can run a WDL workflow into a new directory.

Parameters:

tmp_path (pathlib.Path)

Return type:

None

test_miniwdl_self_test(tmp_path, extra_args=None)

Test if the MiniWDL self test runs and produces the expected output.

Parameters:
Return type:

None

test_miniwdl_self_test_by_reference(tmp_path)

Test if the MiniWDL self test works when passing input files by URL reference.

Parameters:

tmp_path (pathlib.Path)

Return type:

None

test_dockstore_trs(tmp_path, extra_args=None)
Parameters:
Return type:

None

test_dockstore_metrics_publication(tmp_path, extra_args=None)
Parameters:
Return type:

None

test_giraffe_deepvariant(tmp_path)

Test if Giraffe and GPU DeepVariant run. This could take 25 minutes.

Parameters:

tmp_path (pathlib.Path)

Return type:

None

test_giraffe(tmp_path)

Test if Giraffe runs. This could take 12 minutes. Also we scale it down but it still demands lots of memory.

Parameters:

tmp_path (pathlib.Path)

Return type:

None

test_gs_uri(tmp_path)

Test if Toil can access Google Storage URIs.

Parameters:

tmp_path (pathlib.Path)

Return type:

None

test_check(tmp_path)

Test that Toil’s lint check works

Parameters:

tmp_path (pathlib.Path)

Return type:

None

class toil.test.wdl.wdltoil_test.TestWDLToilBench(methodName='runTest')

Bases: unittest.TestCase

Tests for Toil’s MiniWDL-based implementation that don’t run workflows.

test_coalesce()

Test if WDLSectionJob can coalesce WDL decls.

White box test; will need to be changed or removed if the WDL interpreter changes.

Return type:

None

make_string_expr(to_parse)

Parse pseudo-WDL for testing whitespace removal.

Parameters:

to_parse (str)

Return type:

WDL.Expr.String

test_remove_common_leading_whitespace()

Make sure leading whitespace removal works properly.

Return type:

None

test_choose_human_readable_directory()

Test to make sure that we pick sensible but non-colliding directories to put files in.

Return type:

None

test_uri_packing()

Test to make sure Toil URI packing brings through the required information.

Return type:

None

test_disk_parse()

Test to make sure the disk parsing is correct

Return type:

None