Tests: Always load presets schema as UTF-8

We know the encoding of the schema file, so we should specify it
when we open it for reading. Previously, by not specifying it, the test
was open to using an encoding based on the active locale when
running the test. We may have been enforcing a "C" locale at a higher
level, but we don't need to rely on that here, we can force correct
behavior without that assumption.

Issue: #24679
This commit is contained in:
Craig Scott
2023-04-07 18:21:27 +10:00
parent 0de00b8b69
commit b855674f5d

View File

@@ -4,13 +4,13 @@ import os.path
import sys
with open(sys.argv[1], "rb") as f:
contents = json.loads(f.read().decode("utf-8-sig"))
with open(sys.argv[1], "r", encoding="utf-8-sig") as f:
contents = json.load(f)
schema_file = os.path.join(
os.path.dirname(__file__),
"..", "..", "..", "Help", "manual", "presets", "schema.json")
with open(schema_file) as f:
with open(schema_file, "r", encoding="utf-8") as f:
schema = json.load(f)
jsonschema.validate(contents, schema)