From patchwork Tue Sep 19 04:35:23 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [6,of,8] tests: fix run-tests XML reporting on Python 3 From: Augie Fackler X-Patchwork-Id: 24012 Message-Id: <6ff0c726b7b203911936.1505795723@augie-macbookpro2.roam.corp.google.com> To: mercurial-devel@mercurial-scm.org Date: Tue, 19 Sep 2017 00:35:23 -0400 # HG changeset patch # User Augie Fackler # Date 1505794177 14400 # Tue Sep 19 00:09:37 2017 -0400 # Node ID 6ff0c726b7b203911936a39ddf85b83c74062ead # Parent 5cc38d6d9eabd872af4c553ef93eace0b6fc4ab2 tests: fix run-tests XML reporting on Python 3 cdatasafe wants to work in terms of bytes, but of course we have a unicode. Easy to work around, especially since we know we'll get utf-8 at the end. diff --git a/tests/run-tests.py b/tests/run-tests.py --- a/tests/run-tests.py +++ b/tests/run-tests.py @@ -2194,7 +2194,8 @@ class TextTestRunner(unittest.TextTestRu # the skip message as a text node instead. t = doc.createElement('testcase') t.setAttribute('name', tc.name) - message = cdatasafe(message).decode('utf-8', 'replace') + binmessage = message.encode('utf-8') + message = cdatasafe(binmessage).decode('utf-8', 'replace') cd = doc.createCDATASection(message) skipelem = doc.createElement('skipped') skipelem.appendChild(cd)