Skip to content

Commit 414da00

Browse files
committed
main test corrected for max coverage
1 parent 2cd69b5 commit 414da00

File tree

2 files changed

+15
-23
lines changed

2 files changed

+15
-23
lines changed

nibabel/cmdline/diff.py

Lines changed: 11 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -161,24 +161,17 @@ def display_diff(files, diff):
161161
return output
162162

163163

164-
def main(args=None):
164+
def main(args=None, out=None):
165165
"""Getting the show on the road"""
166-
try:
167-
parser = get_opt_parser()
168-
(opts, files) = parser.parse_args()
166+
out = out or sys.stdout
167+
parser = get_opt_parser()
168+
(opts, files) = parser.parse_args(args)
169169

170-
nibabel.cmdline.utils.verbose_level = opts.verbose
170+
nibabel.cmdline.utils.verbose_level = opts.verbose
171171

172-
if nibabel.cmdline.utils.verbose_level < 3:
173-
# suppress nibabel format-compliance warnings
174-
nib.imageglobals.logger.level = 50
175-
176-
except SystemExit:
177-
opts = None
178-
files = None
179-
180-
if args:
181-
files = args
172+
if nibabel.cmdline.utils.verbose_level < 3:
173+
# suppress nibabel format-compliance warnings
174+
nib.imageglobals.logger.level = 50
182175

183176
assert len(files) >= 2, "Please enter at least two files"
184177

@@ -201,11 +194,8 @@ def main(args=None):
201194
diff['DATA(md5)'] = data_diff
202195

203196
if diff:
204-
if opts:
205-
sys.stdout.write(display_diff(files, diff))
206-
raise SystemExit(1)
207-
else:
208-
return diff # this functionality specifically for testing main
197+
out.write(display_diff(files, diff))
198+
raise SystemExit(1)
209199

210200
else:
211-
print("These files are identical.")
201+
out.write("These files are identical.\n")

nibabel/cmdline/tests/test_utils.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
from os.path import (join as pjoin)
1616
from nibabel.testing import data_path
1717
from collections import OrderedDict
18+
from io import StringIO
1819

1920

2021
def test_table2string():
@@ -111,7 +112,7 @@ def test_display_diff():
111112

112113
def test_main():
113114
test_names = [pjoin(data_path, f)
114-
for f in ('standard.nii.gz', 'example4d.nii.gz')]
115+
for f in ('standard.nii.gz', 'example4d.nii.gz')]
115116
expected_difference = OrderedDict([
116117
("regular", [np.asarray("".encode("utf-8")), np.asarray("r".encode("utf-8"))]),
117118
("dim_info", [np.asarray(0).astype(dtype="uint8"), np.asarray(57).astype(dtype="uint8")]),
@@ -147,4 +148,5 @@ def test_main():
147148
-7.24879837e+00]).astype(dtype="float32")]),
148149
('DATA(md5)', ['0a2576dd6badbb25bfb3b12076df986b', 'b0abbc492b4fd533b2c80d82570062cf'])])
149150

150-
np.testing.assert_equal(main(test_names), expected_difference)
151+
with assert_raises(SystemExit):
152+
np.testing.assert_equal(main(test_names, StringIO()), expected_difference)

0 commit comments

Comments
 (0)