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
committed by Brad King
parent fc2b60ca6b
commit e4f26edc1c

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)