annotate tests/test_shm_csr.py @ 6:ea9d5fc4c001 draft default tip

"planemo upload commit 9ada186a78831ca2618ec817a23a77de6adf1a5d"
author rhpvorderman
date Wed, 22 Dec 2021 11:29:16 +0000
parents 495a521cf9f2
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
1 # Copyright (c) 2021 Leiden University Medical Center
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
2 #
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
3 # Permission is hereby granted, free of charge, to any person obtaining a copy
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
4 # of this software and associated documentation files (the "Software"), to deal
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
5 # in the Software without restriction, including without limitation the rights
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
6 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
7 # copies of the Software, and to permit persons to whom the Software is
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
8 # furnished to do so, subject to the following conditions:
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
9 #
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
10 # The above copyright notice and this permission notice shall be included in
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
11 # all copies or substantial portions of the Software.
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
12 #
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
13 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
14 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
15 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
16 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
17 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
18 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
19 # SOFTWARE.
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
20
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
21 import os
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
22 import shutil
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
23 import subprocess
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
24 import sys
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
25 import tempfile
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
26 from pathlib import Path
6
ea9d5fc4c001 "planemo upload commit 9ada186a78831ca2618ec817a23a77de6adf1a5d"
rhpvorderman
parents: 5
diff changeset
27 from xml.etree import ElementTree
ea9d5fc4c001 "planemo upload commit 9ada186a78831ca2618ec817a23a77de6adf1a5d"
rhpvorderman
parents: 5
diff changeset
28 from xml.etree.ElementTree import Element
0
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
29
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
30 import pytest
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
31
6
ea9d5fc4c001 "planemo upload commit 9ada186a78831ca2618ec817a23a77de6adf1a5d"
rhpvorderman
parents: 5
diff changeset
32 GIT_ROOT = Path(__file__).parent.parent.absolute()
0
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
33 TEST_DIR = Path(__file__).parent
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
34 TEST_DATA_DIR = TEST_DIR / "data"
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
35 VALIDATION_DATA_DIR = TEST_DIR / "validation_data"
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
36 CONTROL_NWK377_PB_IGHC_MID1_40nt_2 = TEST_DATA_DIR / "CONTROL_NWK377_PB_IGHC_MID1_40nt_2.txz"
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
37
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
38
6
ea9d5fc4c001 "planemo upload commit 9ada186a78831ca2618ec817a23a77de6adf1a5d"
rhpvorderman
parents: 5
diff changeset
39 def get_container():
ea9d5fc4c001 "planemo upload commit 9ada186a78831ca2618ec817a23a77de6adf1a5d"
rhpvorderman
parents: 5
diff changeset
40 tool = ElementTree.parse(GIT_ROOT / "shm_csr.xml").getroot()
ea9d5fc4c001 "planemo upload commit 9ada186a78831ca2618ec817a23a77de6adf1a5d"
rhpvorderman
parents: 5
diff changeset
41 requirements: Element = tool.find("requirements")
ea9d5fc4c001 "planemo upload commit 9ada186a78831ca2618ec817a23a77de6adf1a5d"
rhpvorderman
parents: 5
diff changeset
42 container = requirements.find("container")
ea9d5fc4c001 "planemo upload commit 9ada186a78831ca2618ec817a23a77de6adf1a5d"
rhpvorderman
parents: 5
diff changeset
43 return container.text
ea9d5fc4c001 "planemo upload commit 9ada186a78831ca2618ec817a23a77de6adf1a5d"
rhpvorderman
parents: 5
diff changeset
44
ea9d5fc4c001 "planemo upload commit 9ada186a78831ca2618ec817a23a77de6adf1a5d"
rhpvorderman
parents: 5
diff changeset
45
0
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
46 @pytest.fixture(scope="module")
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
47 def shm_csr_result():
3
dced6d52d218 "planemo upload commit bdfa4424496371fbea3edd3de07d8be9d0bad432"
rhpvorderman
parents: 0
diff changeset
48 temp_dir = Path(tempfile.mkdtemp())
dced6d52d218 "planemo upload commit bdfa4424496371fbea3edd3de07d8be9d0bad432"
rhpvorderman
parents: 0
diff changeset
49 tool_dir = temp_dir / "shm_csr"
dced6d52d218 "planemo upload commit bdfa4424496371fbea3edd3de07d8be9d0bad432"
rhpvorderman
parents: 0
diff changeset
50 shutil.copytree(GIT_ROOT, tool_dir)
dced6d52d218 "planemo upload commit bdfa4424496371fbea3edd3de07d8be9d0bad432"
rhpvorderman
parents: 0
diff changeset
51 working_dir = temp_dir / "working"
dced6d52d218 "planemo upload commit bdfa4424496371fbea3edd3de07d8be9d0bad432"
rhpvorderman
parents: 0
diff changeset
52 working_dir.mkdir(parents=True)
dced6d52d218 "planemo upload commit bdfa4424496371fbea3edd3de07d8be9d0bad432"
rhpvorderman
parents: 0
diff changeset
53 output_dir = temp_dir / "outputs"
dced6d52d218 "planemo upload commit bdfa4424496371fbea3edd3de07d8be9d0bad432"
rhpvorderman
parents: 0
diff changeset
54 output_dir.mkdir(parents=True)
dced6d52d218 "planemo upload commit bdfa4424496371fbea3edd3de07d8be9d0bad432"
rhpvorderman
parents: 0
diff changeset
55 wrapper = str(tool_dir / "wrapper.sh")
0
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
56 input = str(CONTROL_NWK377_PB_IGHC_MID1_40nt_2)
3
dced6d52d218 "planemo upload commit bdfa4424496371fbea3edd3de07d8be9d0bad432"
rhpvorderman
parents: 0
diff changeset
57 out_files_path = output_dir / "results"
dced6d52d218 "planemo upload commit bdfa4424496371fbea3edd3de07d8be9d0bad432"
rhpvorderman
parents: 0
diff changeset
58 out_file = out_files_path / "result.html"
0
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
59 infile_name = "input_data"
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
60 functionality = "productive"
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
61 unique = "Sequence.ID"
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
62 naive_output = "no"
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
63 naive_output_ca = "None"
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
64 naive_output_cg = "None"
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
65 naive_output_cm = "None"
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
66 naive_output_ce = "None"
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
67 naive_output_all = "None"
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
68 filter_unique = "remove"
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
69 filter_unique_count = '2'
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
70 class_filter = '70_70'
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
71 empty_region_filter = 'FR1'
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
72 fast = 'no'
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
73 cmd = [
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
74 "bash",
3
dced6d52d218 "planemo upload commit bdfa4424496371fbea3edd3de07d8be9d0bad432"
rhpvorderman
parents: 0
diff changeset
75 wrapper,
0
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
76 input,
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
77 "custom",
3
dced6d52d218 "planemo upload commit bdfa4424496371fbea3edd3de07d8be9d0bad432"
rhpvorderman
parents: 0
diff changeset
78 str(out_file),
dced6d52d218 "planemo upload commit bdfa4424496371fbea3edd3de07d8be9d0bad432"
rhpvorderman
parents: 0
diff changeset
79 str(out_files_path),
0
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
80 infile_name,
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
81 "-",
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
82 functionality,
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
83 unique,
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
84 naive_output,
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
85 naive_output_ca,
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
86 naive_output_cg,
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
87 naive_output_cm,
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
88 naive_output_ce,
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
89 naive_output_all,
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
90 filter_unique,
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
91 filter_unique_count,
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
92 class_filter,
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
93 empty_region_filter,
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
94 fast
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
95 ]
5
495a521cf9f2 "planemo upload commit 40d62ec3d2fea3c3bac605c976941e1f3b7e2cd4"
rhpvorderman
parents: 3
diff changeset
96 docker_cmd = ["docker", "run", "-v", f"{temp_dir}:{temp_dir}",
6
ea9d5fc4c001 "planemo upload commit 9ada186a78831ca2618ec817a23a77de6adf1a5d"
rhpvorderman
parents: 5
diff changeset
97 "--rm", # Remove container after running
5
495a521cf9f2 "planemo upload commit 40d62ec3d2fea3c3bac605c976941e1f3b7e2cd4"
rhpvorderman
parents: 3
diff changeset
98 "-v", f"{input}:{input}",
495a521cf9f2 "planemo upload commit 40d62ec3d2fea3c3bac605c976941e1f3b7e2cd4"
rhpvorderman
parents: 3
diff changeset
99 "-w", str(working_dir),
6
ea9d5fc4c001 "planemo upload commit 9ada186a78831ca2618ec817a23a77de6adf1a5d"
rhpvorderman
parents: 5
diff changeset
100 # Run as current user which allows deletion of files.
ea9d5fc4c001 "planemo upload commit 9ada186a78831ca2618ec817a23a77de6adf1a5d"
rhpvorderman
parents: 5
diff changeset
101 # It also mitigates some security considerations
ea9d5fc4c001 "planemo upload commit 9ada186a78831ca2618ec817a23a77de6adf1a5d"
rhpvorderman
parents: 5
diff changeset
102 "-u", f"{os.getuid()}:{os.getgid()}",
ea9d5fc4c001 "planemo upload commit 9ada186a78831ca2618ec817a23a77de6adf1a5d"
rhpvorderman
parents: 5
diff changeset
103 # Run with default seccomp profile to mitigate mitigation slowdown
ea9d5fc4c001 "planemo upload commit 9ada186a78831ca2618ec817a23a77de6adf1a5d"
rhpvorderman
parents: 5
diff changeset
104 # http://mamememo.blogspot.com/2020/05/cpu-intensive-rubypython-code-runs.html
ea9d5fc4c001 "planemo upload commit 9ada186a78831ca2618ec817a23a77de6adf1a5d"
rhpvorderman
parents: 5
diff changeset
105 # This knocks down test runtime from 8 to 6 minutes.
ea9d5fc4c001 "planemo upload commit 9ada186a78831ca2618ec817a23a77de6adf1a5d"
rhpvorderman
parents: 5
diff changeset
106 "--security-opt", "seccomp=unconfined",
ea9d5fc4c001 "planemo upload commit 9ada186a78831ca2618ec817a23a77de6adf1a5d"
rhpvorderman
parents: 5
diff changeset
107 get_container()] + cmd
3
dced6d52d218 "planemo upload commit bdfa4424496371fbea3edd3de07d8be9d0bad432"
rhpvorderman
parents: 0
diff changeset
108 with open(temp_dir / "stderr", "wt") as stderr_file:
dced6d52d218 "planemo upload commit bdfa4424496371fbea3edd3de07d8be9d0bad432"
rhpvorderman
parents: 0
diff changeset
109 with open(temp_dir / "stdout", "wt") as stdout_file:
5
495a521cf9f2 "planemo upload commit 40d62ec3d2fea3c3bac605c976941e1f3b7e2cd4"
rhpvorderman
parents: 3
diff changeset
110 subprocess.run(docker_cmd, cwd=working_dir, stdout=stdout_file,
3
dced6d52d218 "planemo upload commit bdfa4424496371fbea3edd3de07d8be9d0bad432"
rhpvorderman
parents: 0
diff changeset
111 stderr=stderr_file, check=True)
0
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
112 yield Path(out_files_path)
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
113
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
114
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
115 def test_check_output(shm_csr_result):
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
116 assert shm_csr_result.exists()
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
117
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
118
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
119 @pytest.mark.parametrize("filename", os.listdir(VALIDATION_DATA_DIR))
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
120 def test_results_match_validation(shm_csr_result, filename):
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
121 with open(Path(shm_csr_result, filename)) as result_h:
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
122 with open(Path(VALIDATION_DATA_DIR, filename)) as validate_h:
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
123 for line in result_h:
6
ea9d5fc4c001 "planemo upload commit 9ada186a78831ca2618ec817a23a77de6adf1a5d"
rhpvorderman
parents: 5
diff changeset
124 # Skip two faulty lines in shm_overview.
ea9d5fc4c001 "planemo upload commit 9ada186a78831ca2618ec817a23a77de6adf1a5d"
rhpvorderman
parents: 5
diff changeset
125 # TODO: Fix the issue.
ea9d5fc4c001 "planemo upload commit 9ada186a78831ca2618ec817a23a77de6adf1a5d"
rhpvorderman
parents: 5
diff changeset
126 validation_line = validate_h.readline()
ea9d5fc4c001 "planemo upload commit 9ada186a78831ca2618ec817a23a77de6adf1a5d"
rhpvorderman
parents: 5
diff changeset
127 if filename == "shm_overview.txt":
ea9d5fc4c001 "planemo upload commit 9ada186a78831ca2618ec817a23a77de6adf1a5d"
rhpvorderman
parents: 5
diff changeset
128 if (line.startswith("RGYW (%)") or
ea9d5fc4c001 "planemo upload commit 9ada186a78831ca2618ec817a23a77de6adf1a5d"
rhpvorderman
parents: 5
diff changeset
129 line.startswith("WRCY (%)")):
ea9d5fc4c001 "planemo upload commit 9ada186a78831ca2618ec817a23a77de6adf1a5d"
rhpvorderman
parents: 5
diff changeset
130 continue
ea9d5fc4c001 "planemo upload commit 9ada186a78831ca2618ec817a23a77de6adf1a5d"
rhpvorderman
parents: 5
diff changeset
131 assert line == validation_line
0
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
132
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
133
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
134 def test_nt_overview(shm_csr_result):
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
135 with open(Path(shm_csr_result, "sequence_overview", "ntoverview.txt")
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
136 ) as result_h:
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
137 with open(Path(TEST_DIR, "sequence_overview", "ntoverview.txt")
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
138 ) as validate_h:
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
139 for line in result_h:
64d74ba01a7c "planemo upload commit 78d1fae87dbcf490e49a9f99e7a06de7328e16d4"
rhpvorderman
parents:
diff changeset
140 assert line == validate_h.readline()