Skip to content

Commit ff9d30b

Browse files
committed
Also test command-line utility return code.
1 parent 25f1e23 commit ff9d30b

1 file changed

Lines changed: 9 additions & 5 deletions

File tree

tests/test_utility.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ def run(argv):
2626

2727
out, err = p.communicate()
2828

29-
return out.decode('ascii'), err.decode('ascii')
29+
return out.decode('ascii'), err.decode('ascii'), p.returncode
3030

3131
def temp(content):
3232
f = tempfile.NamedTemporaryFile()
@@ -41,21 +41,24 @@ class TestUnidecodeUtility(unittest.TestCase):
4141

4242
def test_encoding_error(self):
4343
f = temp(self.TEST_UNICODE.encode('sjis'))
44-
out, err = run(['-e', 'utf8', f.name])
44+
out, err, rc = run(['-e', 'utf8', f.name])
4545

4646
# Text after : ... can differ between Python versions
4747
self.assertRegex(err, '^Unable to decode input: ')
48+
self.assertEqual(rc, 1)
4849

4950
def test_file_specified_encoding(self):
5051
f = temp(self.TEST_UNICODE.encode('sjis'))
5152

52-
out, err = run(['-e', 'sjis', f.name])
53+
out, err, rc = run(['-e', 'sjis', f.name])
5354
self.assertEqual(out, self.TEST_ASCII)
55+
self.assertEqual(rc, 0)
5456

5557
def test_file_default_encoding(self):
5658
f = temp(self.TEST_UNICODE.encode(locale.getpreferredencoding()))
57-
out, err = run([f.name])
59+
out, err, rc = run([f.name])
5860
self.assertEqual(out, self.TEST_ASCII)
61+
self.assertEqual(rc, 0)
5962

6063
def test_file_stdin(self):
6164
cmd = get_cmd()
@@ -65,5 +68,6 @@ def test_file_stdin(self):
6568
self.assertEqual(out.decode('ascii'), self.TEST_ASCII)
6669

6770
def test_commandline(self):
68-
out = run(['-e', 'sjis', '-c', self.TEST_UNICODE.encode('sjis')])[0]
71+
out, err, rc = run(['-e', 'sjis', '-c', self.TEST_UNICODE.encode('sjis')])
6972
self.assertEqual(out, self.TEST_ASCII + '\n')
73+
self.assertEqual(rc, 0)

0 commit comments

Comments
 (0)