summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2016-02-04 11:33:34 +0200
committerLars Wirzenius <liw@liw.fi>2016-02-04 11:33:34 +0200
commit34496ac2e519e41750b0140a92dd36d54e010a95 (patch)
treed995a401d1ca48b2b3ddf319b0357a1d90077240
parent0baa5ca17a70bf83d1b4eab340e7e7c32feb60b1 (diff)
downloadcmdtest-34496ac2e519e41750b0140a92dd36d54e010a95.tar.gz
Encode to locale for stdout, stderr; release 0.22cmdtest-0.22
-rw-r--r--NEWS6
-rw-r--r--cmdtestlib.py2
-rw-r--r--debian/changelog6
-rwxr-xr-xyarn13
4 files changed, 22 insertions, 5 deletions
diff --git a/NEWS b/NEWS
index 71fd580..52d1d15 100644
--- a/NEWS
+++ b/NEWS
@@ -3,6 +3,12 @@ NEWS for cmdtest
This file summarizes changes between releases of cmdtest.
+Version 0.22, released 2016-02-04
+---------------------------------
+
+* Explicitly encode Unicode strings to the preferred locale encoding
+ when writing to stdout, stderr.
+
Version 0.21, released 2016-01-25
---------------------------------
diff --git a/cmdtestlib.py b/cmdtestlib.py
index 71ce8f5..a750044 100644
--- a/cmdtestlib.py
+++ b/cmdtestlib.py
@@ -14,7 +14,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-__version__ = '0.21'
+__version__ = '0.22'
import os
diff --git a/debian/changelog b/debian/changelog
index c8db0fc..282a905 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+cmdtest (0.22-1) unstable; urgency=medium
+
+ * New upstream version.
+
+ -- Lars Wirzenius <liw@liw.fi> Thu, 04 Feb 2016 11:33:30 +0200
+
cmdtest (0.21-1) unstable; urgency=medium
* New upstream version.
diff --git a/yarn b/yarn
index f1cabb3..2e336b0 100755
--- a/yarn
+++ b/yarn
@@ -19,6 +19,7 @@
import cliapp
import collections
+import locale
import logging
import os
import re
@@ -106,12 +107,16 @@ class YarnRunner(cliapp.Application):
default=False)
def stdout(self, msg):
- self.output.write(msg)
- self.output.flush()
+ self._write(sys.stdout, msg)
def stderr(self, msg):
- sys.stderr.write(msg)
- sys.stderr.flush()
+ self._write(sys.stderr, msg)
+
+ def _write(self, output, msg):
+ if isinstance(msg, unicode):
+ msg = msg.encode(locale.getpreferredencoding())
+ output.write(msg)
+ output.flush()
def info(self, indent, msg):
if self.settings['verbose']: