From: Michael R. Crusoe <michael.crusoe@gmail.com>
Subject: Cleanup test output
Forwarded: https://github.com/common-workflow-language/cwltool/pull/1024
--- cwltool.orig/tests/test_docker.py
+++ cwltool/tests/test_docker.py
@@ -8,9 +8,9 @@
 from .util import get_data, get_main_output, needs_docker, needs_singularity
 
 @needs_docker
-def test_docker_workflow():
+def test_docker_workflow(tmpdir):
     result_code, _, stderr = get_main_output(
-        ['--default-container', 'debian',
+        ['--default-container', 'debian', '--outdir', str(tmpdir),
          get_data("tests/wf/hello-workflow.cwl"), "--usermessage", "hello"])
     assert "completed success" in stderr
     assert result_code == 0
--- cwltool.orig/tests/test_ext.py
+++ cwltool/tests/test_ext.py
@@ -54,7 +54,7 @@
     assert main([get_data('tests/wf/listing_v1_1.cwl'), get_data('tests/listing-job.yml')]) != 0
 
 @needs_docker
-def test_double_overwrite():
+def test_double_overwrite(tmpdir):
     try:
         tmp = tempfile.mkdtemp()
         tmp_name = os.path.join(tmp, "value")
@@ -64,7 +64,8 @@
         with open(tmp_name, "w") as f:
             f.write(before_value)
 
-        assert main(["--enable-ext", get_data('tests/wf/mut2.cwl'), "-a", tmp_name]) == 0
+        assert main(["--enable-ext", "--outdir", str(tmpdir),
+                     get_data('tests/wf/mut2.cwl'), "-a", tmp_name]) == 0
 
         with open(tmp_name, "r") as f:
             actual_value = f.read()
@@ -192,8 +193,8 @@
     assert main(["--enable-ext", get_data('tests/wf/networkaccess-fail.cwl')]) != 0
 
 @needs_docker
-def test_require_prefix_workreuse():
-    assert main(["--enable-ext", get_data('tests/wf/workreuse.cwl')]) == 0
+def test_require_prefix_workreuse(tmpdir):
+    assert main(["--enable-ext", '--outdir', str(tmpdir), get_data('tests/wf/workreuse.cwl')]) == 0
     assert main([get_data('tests/wf/workreuse.cwl')]) != 0
     assert main(["--enable-ext", get_data('tests/wf/workreuse-fail.cwl')]) != 0
 
--- cwltool.orig/tests/test_relax_path_checks.py
+++ cwltool/tests/test_relax_path_checks.py
@@ -25,7 +25,7 @@
 '''
 
 @needs_docker
-def test_spaces_in_input_files():
+def test_spaces_in_input_files(tmpdir):
     try:
         script_file = NamedTemporaryFile(mode='w', delete=False)
         script_file.write(script)
@@ -35,7 +35,7 @@
         spaces = NamedTemporaryFile(prefix="test with spaces", delete=False)
         spaces.close()
 
-        params = ["--debug", script_file.name, '--input', spaces.name]
+        params = ["--debug", "--outdir", str(tmpdir), script_file.name, '--input', spaces.name]
         assert main(params) == 1
         assert main(["--relax-path-checks"] + params) == 0
     finally:
--- cwltool.orig/tests/test_toolargparse.py
+++ cwltool/tests/test_toolargparse.py
@@ -78,13 +78,15 @@
 
 @needs_docker
 @pytest.mark.parametrize('name,script_contents,params', scripts_argparse_params)
-def test_argparse(name, script_contents, params):
+def test_argparse(name, script_contents, params, tmpdir):
     try:
         script = NamedTemporaryFile(mode='w', delete=False)
         script.write(script_contents)
         script.close()
 
-        assert main(params(script.name)) == 0, name
+        my_params = ["--outdir", str(tmpdir)]
+        my_params.extend(params(script.name))
+        assert main(my_params) == 0, name
 
     except SystemExit as err:
         assert err.code == 0, name
--- cwltool.orig/tests/test_examples.py
+++ cwltool/tests/test_examples.py
@@ -786,11 +786,11 @@
 
 
 @needs_docker
-def test_wf_without_container():
+def test_wf_without_container(tmpdir):
     test_file = "hello-workflow.cwl"
     with temp_dir("cwltool_cache") as cache_dir:
         error_code, _, stderr = get_main_output(
-            ["--cachedir", cache_dir,
+            ["--cachedir", cache_dir, "--outdir", str(tmpdir),
              get_data("tests/wf/" + test_file),
              "--usermessage",
              "hello"]
@@ -832,11 +832,12 @@
 
 
 @needs_docker
-def test_no_compute_checksum():
+def test_no_compute_chcksum(tmpdir):
     test_file = "tests/wf/wc-tool.cwl"
     job_file = "tests/wf/wc-job.json"
     error_code, stdout, stderr = get_main_output(
-        ["--no-compute-checksum", get_data(test_file), get_data(job_file)])
+        ["--no-compute-checksum", "--outdir", str(tmpdir),
+         get_data(test_file), get_data(job_file)])
     assert "completed success" in stderr
     assert error_code == 0
     assert "checksum" not in stdout
--- cwltool.orig/tests/test_pack.py
+++ cwltool/tests/test_pack.py
@@ -122,7 +122,7 @@
 
 @needs_docker
 @pytest.mark.parametrize('wf_path,job_path,namespaced', cwl_to_run)
-def test_packed_workflow_execution(wf_path, job_path, namespaced):
+def test_packed_workflow_execution(wf_path, job_path, namespaced, tmpdir):
     load_tool.loaders = {}
 
     document_loader, workflowobj, uri = fetch_document(
@@ -142,8 +142,8 @@
     normal_output = StringIO()
     packed_output = StringIO()
 
-    normal_params = [get_data(wf_path), get_data(job_path)]
-    packed_params = ['--debug', get_data(wf_packed_path), get_data(job_path)]
+    normal_params = ['--outdir', str(tmpdir), get_data(wf_path), get_data(job_path)]
+    packed_params = ['--outdir', str(tmpdir), '--debug', get_data(wf_packed_path), get_data(job_path)]
 
     assert main(normal_params, stdout=normal_output) == 0
     assert main(packed_params, stdout=packed_output) == 0
--- cwltool.orig/tests/test_parallel.py
+++ cwltool/tests/test_parallel.py
@@ -8,11 +8,12 @@
 
 
 @windows_needs_docker
-def test_sequential_workflow():
+def test_sequential_workflow(tmpdir):
     load_tool.loaders = {}
     test_file = "tests/wf/count-lines1-wf.cwl"
     executor = MultithreadedJobExecutor()
     runtime_context = RuntimeContext()
+    runtime_context.outdir = str(tmpdir)
     runtime_context.select_resources = executor.select_resources
     factory = get_windows_safe_factory(
         executor=executor, runtime_context=runtime_context)
