roc-film 1.13.4__py3-none-any.whl → 1.14.0__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- roc/__init__.py +2 -1
- roc/film/__init__.py +2 -2
- roc/film/commands.py +372 -323
- roc/film/config/__init__.py +0 -1
- roc/film/constants.py +101 -65
- roc/film/descriptor.json +126 -95
- roc/film/exceptions.py +28 -27
- roc/film/tasks/__init__.py +16 -16
- roc/film/tasks/cat_solo_hk.py +86 -74
- roc/film/tasks/cdf_postpro.py +438 -309
- roc/film/tasks/check_dds.py +39 -45
- roc/film/tasks/db_to_anc_bia_sweep_table.py +381 -0
- roc/film/tasks/dds_to_l0.py +232 -180
- roc/film/tasks/export_solo_coord.py +147 -0
- roc/film/tasks/file_handler.py +91 -75
- roc/film/tasks/l0_to_hk.py +117 -103
- roc/film/tasks/l0_to_l1_bia_current.py +38 -30
- roc/film/tasks/l0_to_l1_bia_sweep.py +417 -329
- roc/film/tasks/l0_to_l1_sbm.py +250 -208
- roc/film/tasks/l0_to_l1_surv.py +185 -130
- roc/film/tasks/make_daily_tm.py +40 -37
- roc/film/tasks/merge_tcreport.py +77 -71
- roc/film/tasks/merge_tmraw.py +102 -89
- roc/film/tasks/parse_dds_xml.py +21 -20
- roc/film/tasks/set_l0_utc.py +51 -49
- roc/film/tests/cdf_compare.py +565 -0
- roc/film/tests/hdf5_compare.py +84 -62
- roc/film/tests/test_dds_to_l0.py +93 -51
- roc/film/tests/test_dds_to_tc.py +8 -11
- roc/film/tests/test_dds_to_tm.py +8 -10
- roc/film/tests/test_film.py +161 -116
- roc/film/tests/test_l0_to_hk.py +64 -36
- roc/film/tests/test_l0_to_l1_bia.py +10 -14
- roc/film/tests/test_l0_to_l1_sbm.py +14 -19
- roc/film/tests/test_l0_to_l1_surv.py +68 -41
- roc/film/tests/test_metadata.py +21 -20
- roc/film/tests/tests.py +743 -396
- roc/film/tools/__init__.py +5 -5
- roc/film/tools/dataset_tasks.py +34 -2
- roc/film/tools/file_helpers.py +390 -269
- roc/film/tools/l0.py +402 -324
- roc/film/tools/metadata.py +147 -127
- roc/film/tools/skeleton.py +12 -17
- roc/film/tools/tools.py +109 -92
- roc/film/tools/xlsx2skt.py +161 -139
- {roc_film-1.13.4.dist-info → roc_film-1.14.0.dist-info}/LICENSE +127 -125
- roc_film-1.14.0.dist-info/METADATA +60 -0
- roc_film-1.14.0.dist-info/RECORD +50 -0
- {roc_film-1.13.4.dist-info → roc_film-1.14.0.dist-info}/WHEEL +1 -1
- roc/film/tasks/l0_to_anc_bia_sweep_table.py +0 -348
- roc_film-1.13.4.dist-info/METADATA +0 -120
- roc_film-1.13.4.dist-info/RECORD +0 -48
roc/film/tests/hdf5_compare.py
CHANGED
@@ -11,6 +11,7 @@ import sys
|
|
11
11
|
import h5py
|
12
12
|
import numpy
|
13
13
|
|
14
|
+
|
14
15
|
class Hdf5Reader:
|
15
16
|
def __init__(self, logger=logging):
|
16
17
|
self.logger = logger
|
@@ -22,7 +23,7 @@ class Hdf5Reader:
|
|
22
23
|
:return: HDF5 file
|
23
24
|
"""
|
24
25
|
try:
|
25
|
-
hdf5_file = h5py.File(filepath,
|
26
|
+
hdf5_file = h5py.File(filepath, "r")
|
26
27
|
return hdf5_file
|
27
28
|
except IOError:
|
28
29
|
self.logger.error("Unable to open file '%s'" % filepath)
|
@@ -46,7 +47,7 @@ class Hdf5Reader:
|
|
46
47
|
:return: Summary of the group
|
47
48
|
"""
|
48
49
|
|
49
|
-
return {
|
50
|
+
return {"attr": self.read_attributes(hval), "htype": "group"}
|
50
51
|
|
51
52
|
def read_data(self, hval):
|
52
53
|
"""
|
@@ -55,10 +56,12 @@ class Hdf5Reader:
|
|
55
56
|
:return: Summary of the dataset
|
56
57
|
"""
|
57
58
|
data_value = hval[()] # hval.value has been deprecated
|
58
|
-
return {
|
59
|
-
|
60
|
-
|
61
|
-
|
59
|
+
return {
|
60
|
+
"attr": self.read_attributes(hval),
|
61
|
+
"value": data_value,
|
62
|
+
"htype": "dataset",
|
63
|
+
"dtype": type(data_value),
|
64
|
+
}
|
62
65
|
|
63
66
|
#
|
64
67
|
def evaluate_group(self, path, grp):
|
@@ -76,13 +79,20 @@ class Hdf5Reader:
|
|
76
79
|
elif isinstance(v, h5py.Group):
|
77
80
|
result[k] = self.read_group(v)
|
78
81
|
else:
|
79
|
-
raise Exception(
|
82
|
+
raise Exception("Unknown h5py type: %s (%s -- %s)" % (type(v), path, k))
|
80
83
|
return result
|
81
84
|
|
82
85
|
|
83
86
|
class Hdf5Diff(Hdf5Reader):
|
84
|
-
def __init__(
|
85
|
-
|
87
|
+
def __init__(
|
88
|
+
self,
|
89
|
+
filepath1,
|
90
|
+
filepath2,
|
91
|
+
group_path1,
|
92
|
+
group_path2,
|
93
|
+
exclude_attr=[],
|
94
|
+
logger=logging,
|
95
|
+
):
|
86
96
|
# set up the logger
|
87
97
|
super().__init__(logger)
|
88
98
|
|
@@ -100,103 +110,108 @@ class Hdf5Diff(Hdf5Reader):
|
|
100
110
|
|
101
111
|
def compare_dataset(self, path, name, dataset1, dataset2):
|
102
112
|
# compare dtypes
|
103
|
-
if dataset1[name][
|
104
|
-
d1 = dataset1[name][
|
105
|
-
d2 = dataset2[name][
|
106
|
-
self.register_diff(
|
113
|
+
if dataset1[name]["dtype"] != dataset2[name]["dtype"]:
|
114
|
+
d1 = dataset1[name]["dtype"]
|
115
|
+
d2 = dataset2[name]["dtype"]
|
116
|
+
self.register_diff(
|
117
|
+
path,
|
118
|
+
"DIFF_DTYPE",
|
119
|
+
(d1, d2),
|
120
|
+
)
|
107
121
|
|
108
122
|
# compare values
|
109
|
-
v1 = dataset1[name][
|
110
|
-
v2 = dataset2[name][
|
123
|
+
v1 = dataset1[name]["value"]
|
124
|
+
v2 = dataset2[name]["value"]
|
111
125
|
try:
|
112
126
|
if not numpy.allclose(v1, v2, equal_nan=True):
|
113
127
|
raise ValueError
|
114
128
|
except ValueError:
|
115
|
-
self.register_diff(path + name,
|
129
|
+
self.register_diff(path + name, "DIFF_DATA", (v1, v2))
|
116
130
|
except TypeError:
|
117
131
|
# Try to compare row by row (only if same length)
|
118
132
|
if v1.shape != v2.shape:
|
119
|
-
self.register_diff(path + name,
|
133
|
+
self.register_diff(path + name, "DIFF_DATA", (v1, v2))
|
120
134
|
else:
|
121
135
|
for i in range(v1.shape[0]):
|
122
136
|
if len(numpy.array(v1[i]).shape) > 0:
|
123
137
|
if any(v1[i] != v2[i]):
|
124
|
-
self.register_diff(path + name,
|
138
|
+
self.register_diff(path + name, "DIFF_DATA", (v1, v2))
|
125
139
|
break
|
126
140
|
else:
|
127
141
|
if v1[i] != v2[i]:
|
128
|
-
self.register_diff(path + name,
|
142
|
+
self.register_diff(path + name, "DIFF_DATA", (v1, v2))
|
129
143
|
break
|
130
|
-
except:
|
131
|
-
|
144
|
+
except Exception as e:
|
145
|
+
self.logger.exception(f"Datasets {path + name} cannot be compared:\n{e}")
|
146
|
+
raise
|
132
147
|
else:
|
133
148
|
pass
|
134
149
|
|
135
150
|
# compare attributes
|
136
|
-
for k in dataset1[name][
|
151
|
+
for k in dataset1[name]["attr"]:
|
137
152
|
if self.exclude_attr and k in self.exclude_attr:
|
138
153
|
continue
|
139
|
-
if k not in dataset2[name][
|
140
|
-
self.register_diff(path + name,
|
154
|
+
if k not in dataset2[name]["attr"]:
|
155
|
+
self.register_diff(path + name, "DIFF_UNIQ_ATTR", (k,), file_id=1)
|
141
156
|
|
142
|
-
for k in dataset2[name][
|
157
|
+
for k in dataset2[name]["attr"]:
|
143
158
|
if self.exclude_attr and k in self.exclude_attr:
|
144
159
|
continue
|
145
|
-
if k not in dataset1[name][
|
146
|
-
self.register_diff(path + name,
|
160
|
+
if k not in dataset1[name]["attr"]:
|
161
|
+
self.register_diff(path + name, "DIFF_UNIQ_ATTR", (k,), file_id=2)
|
147
162
|
|
148
|
-
for k in dataset1[name][
|
163
|
+
for k in dataset1[name]["attr"]:
|
149
164
|
if self.exclude_attr and k in self.exclude_attr:
|
150
165
|
continue
|
151
|
-
if k in dataset2[name][
|
152
|
-
v1 = dataset1[name][
|
153
|
-
v2 = dataset2[name][
|
166
|
+
if k in dataset2[name]["attr"]:
|
167
|
+
v1 = dataset1[name]["attr"][k]
|
168
|
+
v2 = dataset2[name]["attr"][k]
|
154
169
|
if v1 != v2:
|
155
|
-
self.register_diff(path + name,
|
170
|
+
self.register_diff(path + name, "DIFF_ATTR_DTYPE", (k, v1, v2))
|
156
171
|
|
157
172
|
def compare_group(self, path, name, desc1, desc2):
|
158
|
-
|
159
173
|
# compare attributes
|
160
|
-
for k in desc1[name][
|
174
|
+
for k in desc1[name]["attr"]:
|
161
175
|
if self.exclude_attr and k in self.exclude_attr:
|
162
176
|
continue
|
163
|
-
if k not in desc2[name][
|
164
|
-
self.register_diff(path + name,
|
165
|
-
for k in desc2[name][
|
177
|
+
if k not in desc2[name]["attr"]:
|
178
|
+
self.register_diff(path + name, "DIFF_UNIQ_ATTR", (k,), file_id=1)
|
179
|
+
for k in desc2[name]["attr"]:
|
166
180
|
if self.exclude_attr and k in self.exclude_attr:
|
167
181
|
continue
|
168
|
-
if k not in desc1[name][
|
169
|
-
self.register_diff(path + name,
|
182
|
+
if k not in desc1[name]["attr"]:
|
183
|
+
self.register_diff(path + name, "DIFF_UNIQ_ATTR", (k,), file_id=2)
|
170
184
|
|
171
185
|
def register_diff(self, path, error_code, values, file_id=None):
|
172
|
-
|
173
186
|
error_messages = {
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
187
|
+
"DIFF_OBJECTS": "[{path}] Different element types: {values[0]} and {values[1]}",
|
188
|
+
"DIFF_UNIQUE": "[{path}] Element {values[0]} only in file {file_id}",
|
189
|
+
"DIFF_UNIQ_ATTR": "[{path}] Attribute {values[0]} only in file {file_id}",
|
190
|
+
"DIFF_ATTR_DTYPE": "[{path}] Attribute {values[0]} has different type: {values[1]} and {values[2]}",
|
191
|
+
"DIFF_DATA": "[{path}] Different data: {values[0]} and {values[1]}",
|
192
|
+
"DIFF_DTYPE": "[{path}] Different dtypes: {values[0]} and {values[1]}",
|
180
193
|
}
|
181
194
|
|
182
195
|
error_message = error_messages.get(error_code, None)
|
183
196
|
|
184
197
|
if error_message is None:
|
185
|
-
raise Exception(
|
198
|
+
raise Exception("Unknown error_code %s" % (error_code,))
|
186
199
|
|
187
|
-
content = {
|
200
|
+
content = {"path": path, "values": values, "error_code": error_code}
|
188
201
|
|
189
202
|
if file_id is not None:
|
190
|
-
content[
|
203
|
+
content["file_id"] = file_id
|
191
204
|
|
192
205
|
# store the error
|
193
206
|
self.diff_list.append(content)
|
194
207
|
|
195
208
|
# and send logs
|
196
|
-
self.logger.info(
|
209
|
+
self.logger.info(
|
210
|
+
error_message.format(path=path, values=values, file_id=file_id)
|
211
|
+
)
|
197
212
|
|
198
|
-
def diff_groups(self, grp1, grp2, path=
|
199
|
-
self.logger.debug(
|
213
|
+
def diff_groups(self, grp1, grp2, path="/"):
|
214
|
+
self.logger.debug("Examining " + path)
|
200
215
|
|
201
216
|
# get the groups content
|
202
217
|
desc1 = self.evaluate_group(path, grp1)
|
@@ -210,37 +225,44 @@ class Hdf5Diff(Hdf5Reader):
|
|
210
225
|
if k in desc2:
|
211
226
|
common.append(k)
|
212
227
|
else:
|
213
|
-
self.register_diff(path,
|
228
|
+
self.register_diff(path, "DIFF_UNIQUE", (k,), file_id=1)
|
214
229
|
|
215
230
|
# get the keys specific to the group 2
|
216
231
|
for k in desc2:
|
217
232
|
if k not in desc1:
|
218
|
-
self.register_diff(path,
|
233
|
+
self.register_diff(path, "DIFF_UNIQUE", (k,), file_id=2)
|
219
234
|
|
220
235
|
# loop over common keys
|
221
236
|
for name in common:
|
222
|
-
self.logger.debug(
|
237
|
+
self.logger.debug("\t" + name)
|
223
238
|
|
224
239
|
# compare types
|
225
|
-
h1 = desc1[name][
|
226
|
-
h2 = desc2[name][
|
240
|
+
h1 = desc1[name]["htype"]
|
241
|
+
h2 = desc2[name]["htype"]
|
227
242
|
if h1 != h2:
|
228
|
-
self.register_diff(
|
243
|
+
self.register_diff(
|
244
|
+
path,
|
245
|
+
"DIFF_OBJECTS",
|
246
|
+
(h1, h2),
|
247
|
+
)
|
229
248
|
# different hdf5 types -- don't try to compare further
|
230
249
|
continue
|
231
250
|
|
232
251
|
# call the appropriate method(s) depending on the node type
|
233
|
-
if desc1[name][
|
252
|
+
if desc1[name]["htype"] == "dataset":
|
234
253
|
# handle dataset
|
235
254
|
self.compare_dataset(path, name, desc1, desc2)
|
236
|
-
elif desc1[name][
|
255
|
+
elif desc1[name]["htype"] == "group":
|
237
256
|
# handle groups
|
238
257
|
self.compare_group(path, name, desc1, desc2)
|
239
258
|
# recurse into subgroup
|
240
|
-
self.diff_groups(grp1[name], grp2[name], path=path + name +
|
259
|
+
self.diff_groups(grp1[name], grp2[name], path=path + name + "/")
|
241
260
|
else:
|
242
261
|
# handle unrecognized hdf5 objects
|
243
|
-
self.logger.warning(
|
262
|
+
self.logger.warning(
|
263
|
+
"Element is not a recognized type (%s) and isn't being evaluated"
|
264
|
+
% h1
|
265
|
+
)
|
244
266
|
continue
|
245
267
|
|
246
268
|
def diff_files(self):
|
roc/film/tests/test_dds_to_l0.py
CHANGED
@@ -7,7 +7,6 @@ Test tm_to_l0 command of the roc.film plugin.
|
|
7
7
|
|
8
8
|
import filecmp
|
9
9
|
import os
|
10
|
-
import tempfile
|
11
10
|
from pathlib import Path
|
12
11
|
from pprint import pformat
|
13
12
|
|
@@ -45,16 +44,16 @@ class TestDdsToL0(CommandTestCase):
|
|
45
44
|
# clear the files produced during test
|
46
45
|
shutil.rmtree(self.output_dir_path)
|
47
46
|
|
48
|
-
|
47
|
+
# @pytest.mark.skip()
|
49
48
|
@pytest.mark.parametrize(
|
50
|
-
|
51
|
-
[(
|
49
|
+
"date_to_test,idb_source,idb_version",
|
50
|
+
[("20220501", "MIB", "20200131")],
|
52
51
|
)
|
53
52
|
def test_dds_to_l0(self, date_to_test, idb_source, idb_version):
|
54
53
|
from poppy.core.conf import Settings
|
55
54
|
|
56
55
|
# Name of the command to test
|
57
|
-
cmd =
|
56
|
+
cmd = "dds_to_l0"
|
58
57
|
|
59
58
|
# Retrieve data for current test
|
60
59
|
test_data_path = FilmTest().get_test_data(cmd, extract=True)
|
@@ -64,89 +63,132 @@ class TestDdsToL0(CommandTestCase):
|
|
64
63
|
# Initialize inputs and expected outputs
|
65
64
|
input_dir_path, inputs = FilmTest.get_inputs(test_data_dir)
|
66
65
|
if not inputs:
|
67
|
-
raise FileNotFoundError(f
|
68
|
-
expected_output_dir_path, expected_outputs = FilmTest.get_expected_outputs(
|
66
|
+
raise FileNotFoundError(f"No input found in {test_data_dir}!")
|
67
|
+
expected_output_dir_path, expected_outputs = FilmTest.get_expected_outputs(
|
68
|
+
test_data_dir
|
69
|
+
)
|
69
70
|
if not expected_outputs:
|
70
|
-
raise FileNotFoundError(f
|
71
|
+
raise FileNotFoundError(f"No expected output found in {test_data_dir}!")
|
71
72
|
|
72
73
|
# Initialize directory where files produced during test will be saved
|
73
|
-
output_dir_path = os.path.join(test_data_dir,
|
74
|
+
output_dir_path = os.path.join(test_data_dir, "output")
|
74
75
|
self.output_dir_path = output_dir_path
|
75
76
|
|
76
77
|
# Check that SPICE kernels are present in ./data/spice_kernels folder
|
77
78
|
spice_kernels_dir = FilmTest.get_spice_kernel_dir()
|
78
79
|
if not os.path.isdir(spice_kernels_dir):
|
79
|
-
raise FileNotFoundError(
|
80
|
+
raise FileNotFoundError(
|
81
|
+
f"No SPICE kernel set found in {spice_kernels_dir}!"
|
82
|
+
)
|
80
83
|
|
81
84
|
# length in scos header bytes to remove from input binary TM packets
|
82
|
-
scos_header_byte_length =
|
85
|
+
scos_header_byte_length = "0"
|
83
86
|
|
84
87
|
# Split inputs between two lists containing RPW TM and TC files respectively
|
85
|
-
tm_inputs =
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
88
|
+
tm_inputs = " ".join(
|
89
|
+
[
|
90
|
+
os.path.join(input_dir_path, input_file)
|
91
|
+
for input_file in inputs
|
92
|
+
if os.path.basename(input_file).startswith("solo_TM_")
|
93
|
+
]
|
94
|
+
)
|
95
|
+
tc_inputs = " ".join(
|
96
|
+
[
|
97
|
+
os.path.join(input_dir_path, input_file)
|
98
|
+
for input_file in inputs
|
99
|
+
if os.path.basename(input_file).startswith("solo_TC_")
|
100
|
+
]
|
101
|
+
)
|
95
102
|
|
96
103
|
# initialize the main command
|
97
104
|
# Make sure that start-time/end_time keyword values are consistent with input DDS files
|
98
|
-
command_to_test =
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
105
|
+
command_to_test = " ".join(
|
106
|
+
[
|
107
|
+
"pop",
|
108
|
+
"film",
|
109
|
+
"--force",
|
110
|
+
"--idb-version",
|
111
|
+
idb_version,
|
112
|
+
"--idb-source",
|
113
|
+
idb_source,
|
114
|
+
"--scos-header",
|
115
|
+
scos_header_byte_length,
|
116
|
+
"--cdag",
|
117
|
+
cmd,
|
118
|
+
date_to_test,
|
119
|
+
"--dds-tmraw-xml",
|
120
|
+
tm_inputs,
|
121
|
+
"--dds-tcreport-xml",
|
122
|
+
tc_inputs,
|
123
|
+
"--output-dir",
|
124
|
+
output_dir_path,
|
125
|
+
"-ll",
|
126
|
+
"INFO",
|
127
|
+
]
|
128
|
+
)
|
109
129
|
|
110
130
|
# define the required plugins
|
111
|
-
plugin_list = [
|
131
|
+
plugin_list = [
|
132
|
+
"poppy.pop",
|
133
|
+
"roc.idb",
|
134
|
+
"roc.rpl",
|
135
|
+
"roc.rap",
|
136
|
+
"roc.dingo",
|
137
|
+
"roc.film",
|
138
|
+
]
|
112
139
|
#
|
113
140
|
# run the command
|
114
141
|
# force the value of the plugin list
|
115
|
-
with mock.patch.object(
|
116
|
-
|
117
|
-
|
142
|
+
with mock.patch.object(
|
143
|
+
Settings,
|
144
|
+
"configure",
|
145
|
+
autospec=True,
|
146
|
+
side_effect=self.mock_configure_settings(
|
147
|
+
dictionary={"PLUGINS": plugin_list}
|
148
|
+
),
|
149
|
+
):
|
118
150
|
# Load IDB in the database
|
119
151
|
FilmTest.load_idb(self, idb_version=idb_version)
|
120
152
|
|
121
153
|
# Run the command to test
|
122
|
-
logger.info(f
|
154
|
+
logger.info(f"Running {command_to_test}")
|
123
155
|
self.run_command(shlex.split(command_to_test))
|
124
156
|
|
125
157
|
# compare directory content
|
126
|
-
dirs_cmp = filecmp.dircmp(output_dir_path,
|
127
|
-
expected_output_dir_path)
|
158
|
+
dirs_cmp = filecmp.dircmp(output_dir_path, expected_output_dir_path)
|
128
159
|
|
129
160
|
dirs_cmp.report()
|
130
161
|
# ensure that we have the same files in both directories
|
131
162
|
assert (len(dirs_cmp.left_only) == 0) and (len(dirs_cmp.right_only) == 0)
|
132
163
|
|
133
164
|
# ensure the name of the two expected and generated L0 files is the same
|
134
|
-
produced_l0_path = os.path.join(
|
135
|
-
|
165
|
+
produced_l0_path = os.path.join(
|
166
|
+
output_dir_path, f"solo_L0_rpw-cdag_{date_to_test}_V01.h5"
|
167
|
+
)
|
168
|
+
expected_l0_path = os.path.join(
|
169
|
+
expected_output_dir_path, f"solo_L0_rpw-cdag_{date_to_test}_V01.h5"
|
170
|
+
)
|
136
171
|
assert Path(produced_l0_path).name == Path(expected_l0_path).name
|
137
172
|
|
138
173
|
# Compare content of the two L0 files
|
139
174
|
attributes_to_ignore = [
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
result = Hdf5Diff(
|
148
|
-
|
175
|
+
"File_ID",
|
176
|
+
"Generation_date",
|
177
|
+
"Pipeline_version",
|
178
|
+
"Pipeline_name",
|
179
|
+
"Software_version",
|
180
|
+
"IDB_version",
|
181
|
+
]
|
182
|
+
result = Hdf5Diff(
|
183
|
+
produced_l0_path,
|
184
|
+
expected_l0_path,
|
185
|
+
"/",
|
186
|
+
"/",
|
187
|
+
exclude_attr=attributes_to_ignore,
|
188
|
+
).diff_files()
|
149
189
|
if result:
|
150
|
-
logger.error(
|
190
|
+
logger.error(
|
191
|
+
f"Differences between expected output and the command output: {pformat(result)}"
|
192
|
+
)
|
151
193
|
|
152
194
|
assert result == []
|
roc/film/tests/test_dds_to_tc.py
CHANGED
@@ -5,22 +5,16 @@
|
|
5
5
|
Test dds_to_tc command of the roc.film plugin.
|
6
6
|
"""
|
7
7
|
|
8
|
-
import filecmp
|
9
|
-
import os
|
10
8
|
import tempfile
|
11
|
-
from pprint import pformat
|
12
9
|
|
13
10
|
import pytest
|
14
11
|
import shutil
|
15
|
-
import unittest.mock as mock
|
16
12
|
|
17
|
-
from poppy.core.logger import logger
|
18
13
|
from poppy.core.test import CommandTestCase
|
19
14
|
from roc.film.tests.test_film import FilmTest
|
20
15
|
|
21
16
|
|
22
17
|
class TestDdsToTc(CommandTestCase):
|
23
|
-
|
24
18
|
film = FilmTest()
|
25
19
|
|
26
20
|
def setup_method(self, method):
|
@@ -44,12 +38,15 @@ class TestDdsToTc(CommandTestCase):
|
|
44
38
|
# clear the downloaded files
|
45
39
|
shutil.rmtree(self.tmp_dir_path)
|
46
40
|
|
47
|
-
@pytest.mark.skip(reason=
|
48
|
-
@pytest.mark.parametrize(
|
49
|
-
|
50
|
-
|
41
|
+
@pytest.mark.skip(reason="Not working")
|
42
|
+
@pytest.mark.parametrize(
|
43
|
+
"idb_source,idb_version",
|
44
|
+
[
|
45
|
+
("MIB", "20200131"),
|
46
|
+
],
|
47
|
+
)
|
51
48
|
def test_classify_tcreport(self, idb_source, idb_version):
|
52
|
-
|
49
|
+
pass
|
53
50
|
|
54
51
|
# input_dir_path, inputs = self.get_inputs('classify_tcreport')
|
55
52
|
# expected_output_dir_path, expected_outputs = self.get_expected_outputs('classify_tcreport')
|
roc/film/tests/test_dds_to_tm.py
CHANGED
@@ -5,16 +5,11 @@
|
|
5
5
|
Test dds_to_tm command of the roc.film plugin.
|
6
6
|
"""
|
7
7
|
|
8
|
-
import filecmp
|
9
|
-
import os
|
10
8
|
import tempfile
|
11
|
-
from pprint import pformat
|
12
9
|
|
13
10
|
import pytest
|
14
11
|
import shutil
|
15
|
-
import unittest.mock as mock
|
16
12
|
|
17
|
-
from poppy.core.logger import logger
|
18
13
|
from poppy.core.test import CommandTestCase
|
19
14
|
from roc.film.tests.test_film import FilmTest
|
20
15
|
|
@@ -43,12 +38,15 @@ class TestDdsToTm(CommandTestCase):
|
|
43
38
|
# clear the downloaded files
|
44
39
|
shutil.rmtree(self.tmp_dir_path)
|
45
40
|
|
46
|
-
@pytest.mark.skip(reason=
|
47
|
-
@pytest.mark.parametrize(
|
48
|
-
|
49
|
-
|
41
|
+
@pytest.mark.skip(reason="Not working")
|
42
|
+
@pytest.mark.parametrize(
|
43
|
+
"idb_source,idb_version",
|
44
|
+
[
|
45
|
+
("MIB", "20200131"),
|
46
|
+
],
|
47
|
+
)
|
50
48
|
def test_classify_tmraw(self, idb_source, idb_version):
|
51
|
-
|
49
|
+
pass
|
52
50
|
|
53
51
|
# input_dir_path, inputs = self.get_inputs('classify_tmraw')
|
54
52
|
# expected_output_dir_path, expected_outputs = self.get_expected_outputs('classify_tmraw')
|