diff --git a/tests/test-template-functions.t b/tests/test-template-functions.t
--- a/tests/test-template-functions.t
+++ b/tests/test-template-functions.t
@@ -1499,11 +1499,15 @@ Test cbor filter:
 
   $ cat <<'EOF' > "$TESTTMP/decodecbor.py"
   > from __future__ import absolute_import
-  > from mercurial import pycompat
+  > from mercurial import (
+  >     dispatch,
+  >     pycompat,
+  > )
   > from mercurial.utils import (
   >     cborutil,
   >     stringutil,
   > )
+  > dispatch.initstdio()
   > items = cborutil.decodeall(pycompat.stdin.read())
   > pycompat.stdout.write(stringutil.pprint(items, indent=1) + b'\n')
   > EOF
diff --git a/tests/test-template-map.t b/tests/test-template-map.t
--- a/tests/test-template-map.t
+++ b/tests/test-template-map.t
@@ -673,11 +673,15 @@ test CBOR style:
 
   $ cat <<'EOF' > "$TESTTMP/decodecborarray.py"
   > from __future__ import absolute_import
-  > from mercurial import pycompat
+  > from mercurial import (
+  >     dispatch,
+  >     pycompat,
+  > )
   > from mercurial.utils import (
   >     cborutil,
   >     stringutil,
   > )
+  > dispatch.initstdio()
   > data = pycompat.stdin.read()
   > # our CBOR decoder doesn't support parsing indefinite-length arrays,
   > # but the log output is indefinite stream by nature.