|
1 |
| -from __future__ import absolute_import |
2 |
| - |
3 | 1 | import json
|
4 |
| -import unittest |
5 | 2 |
|
6 | 3 | from six import StringIO
|
7 | 4 |
|
| 5 | +import pytest |
| 6 | + |
8 | 7 | from cwltool.main import main
|
9 | 8 |
|
10 | 9 | from .util import get_data, needs_docker
|
11 | 10 |
|
12 |
| - |
13 |
| -class TestOverride(unittest.TestCase): |
14 |
| - @needs_docker |
15 |
| - def test_overrides(self): |
16 |
| - sio = StringIO() |
17 |
| - |
18 |
| - self.assertEquals(main([get_data('tests/override/echo.cwl'), |
19 |
| - get_data('tests/override/echo-job.yml')], |
20 |
| - stdout=sio), 0) |
21 |
| - self.assertEquals({"out": "zing hello1\n"}, json.loads(sio.getvalue())) |
22 |
| - |
23 |
| - sio = StringIO() |
24 |
| - self.assertEquals(main(["--overrides", get_data('tests/override/ov.yml'), |
25 |
| - get_data('tests/override/echo.cwl'), |
26 |
| - get_data('tests/override/echo-job.yml')], |
27 |
| - stdout=sio), 0) |
28 |
| - self.assertEquals({"out": "zing hello2\n"}, json.loads(sio.getvalue())) |
29 |
| - |
30 |
| - sio = StringIO() |
31 |
| - self.assertEquals(main([get_data('tests/override/echo.cwl'), |
32 |
| - get_data('tests/override/echo-job-ov.yml')], |
33 |
| - stdout=sio), 0) |
34 |
| - self.assertEquals({"out": "zing hello3\n"}, json.loads(sio.getvalue())) |
35 |
| - |
36 |
| - sio = StringIO() |
37 |
| - self.assertEquals(main([get_data('tests/override/echo-job-ov2.yml')], |
38 |
| - stdout=sio), 0) |
39 |
| - self.assertEquals({"out": "zing hello4\n"}, json.loads(sio.getvalue())) |
40 |
| - |
41 |
| - |
42 |
| - sio = StringIO() |
43 |
| - self.assertEquals(main(["--overrides", get_data('tests/override/ov.yml'), |
44 |
| - get_data('tests/override/echo-wf.cwl'), |
45 |
| - get_data('tests/override/echo-job.yml')], |
46 |
| - stdout=sio), 0) |
47 |
| - self.assertEquals({"out": "zing hello2\n"}, json.loads(sio.getvalue())) |
48 |
| - |
49 |
| - sio = StringIO() |
50 |
| - self.assertEquals(main(["--overrides", get_data('tests/override/ov2.yml'), |
51 |
| - get_data('tests/override/echo-wf.cwl'), |
52 |
| - get_data('tests/override/echo-job.yml')], |
53 |
| - stdout=sio), 0) |
54 |
| - self.assertEquals({"out": "zing hello5\n"}, json.loads(sio.getvalue())) |
55 |
| - |
56 |
| - sio = StringIO() |
57 |
| - self.assertEquals(main(["--overrides", get_data('tests/override/ov3.yml'), |
58 |
| - get_data('tests/override/echo-wf.cwl'), |
59 |
| - get_data('tests/override/echo-job.yml')], |
60 |
| - stdout=sio), 0) |
61 |
| - self.assertEquals({"out": "zing hello6\n"}, json.loads(sio.getvalue())) |
| 11 | +override_parameters = [ |
| 12 | + ([get_data('tests/override/echo.cwl'), |
| 13 | + get_data('tests/override/echo-job.yml')], |
| 14 | + {"out": "zing hello1\n"} |
| 15 | + ), |
| 16 | + (["--overrides", |
| 17 | + get_data('tests/override/ov.yml'), |
| 18 | + get_data('tests/override/echo.cwl'), |
| 19 | + get_data('tests/override/echo-job.yml')], |
| 20 | + {"out": "zing hello2\n"} |
| 21 | + ), |
| 22 | + ([get_data('tests/override/echo.cwl'), |
| 23 | + get_data('tests/override/echo-job-ov.yml')], |
| 24 | + {"out": "zing hello3\n"} |
| 25 | + ), |
| 26 | + ([get_data('tests/override/echo-job-ov2.yml')], |
| 27 | + {"out": "zing hello4\n"} |
| 28 | + ), |
| 29 | + (["--overrides", |
| 30 | + get_data('tests/override/ov.yml'), |
| 31 | + get_data('tests/override/echo-wf.cwl'), |
| 32 | + get_data('tests/override/echo-job.yml')], |
| 33 | + {"out": "zing hello2\n"} |
| 34 | + ), |
| 35 | + (["--overrides", |
| 36 | + get_data('tests/override/ov2.yml'), |
| 37 | + get_data('tests/override/echo-wf.cwl'), |
| 38 | + get_data('tests/override/echo-job.yml')], |
| 39 | + {"out": "zing hello5\n"} |
| 40 | + ), |
| 41 | + (["--overrides", |
| 42 | + get_data('tests/override/ov3.yml'), |
| 43 | + get_data('tests/override/echo-wf.cwl'), |
| 44 | + get_data('tests/override/echo-job.yml')], |
| 45 | + {"out": "zing hello6\n"} |
| 46 | + ), |
| 47 | +] |
| 48 | + |
| 49 | +@needs_docker |
| 50 | +@pytest.mark.parametrize('parameters,result', override_parameters) |
| 51 | +def test_overrides(parameters, result): |
| 52 | + sio = StringIO() |
| 53 | + |
| 54 | + assert main(parameters, stdout=sio) == 0 |
| 55 | + assert json.loads(sio.getvalue()) == result |
0 commit comments