@@ -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
3131def 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