]> granicus.if.org Git - graphviz/commitdiff
fix test suite 'dot' reliance on locale
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Thu, 14 Jul 2022 14:38:45 +0000 (07:38 -0700)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Tue, 19 Jul 2022 14:27:16 +0000 (07:27 -0700)
This function was using the current system locale to encode and decode data sent
to Graphviz and received from Graphviz when using a textual output format. As a
result, encoding exceptions would occur if either the input or the output
contained non-ASCII characters and the system locale was not a UTF-8 one.
Apparently none of the current test suite hits this scenario. However, an
upcoming commit adds a test case that does.

This change forces the encoding and decoding to be done as UTF-8, which is also
what Graphviz unconditionally uses.

tests/gvtest.py

index ed44a872daef963b6768d668b0274282bbdfc105..cfe5344c0240182290df02055c2cae0f13aa5dea 100644 (file)
@@ -87,6 +87,7 @@ def dot(T: str, source_file: Optional[Path] = None, source: Optional[str] = None
 
   kwargs = {}
   if output_is_text:
+    kwargs["encoding"] = "utf-8"
     kwargs["universal_newlines"] = True
 
   args = ["dot", f"-T{T}"]