1
"""Tests for distutils.log"""
5
from tempfile import NamedTemporaryFile
7
from distutils import log
9
class TestLog(unittest.TestCase):
10
def test_non_ascii(self):
11
# Issue #8663: test that non-ASCII text is escaped with
12
# backslashreplace error handler (stream use ASCII encoding and strict
14
old_stdout = sys.stdout
15
old_stderr = sys.stderr
17
log.set_threshold(log.DEBUG)
18
with NamedTemporaryFile(mode="w+", encoding='ascii') as stdout, \
19
NamedTemporaryFile(mode="w+", encoding='ascii') as stderr:
22
log.debug("debug:\xe9")
23
log.fatal("fatal:\xe9")
25
self.assertEquals(stdout.read().rstrip(), "debug:\\xe9")
27
self.assertEquals(stderr.read().rstrip(), "fatal:\\xe9")
29
sys.stdout = old_stdout
30
sys.stderr = old_stderr
33
return unittest.makeSuite(TestLog)
35
if __name__ == "__main__":
36
unittest.main(defaultTest="test_suite")