From: Serhiy Storchaka Date: Sat, 29 Mar 2025 17:14:37 +0000 (+0200) Subject: gh-131853: Fix test_msgfmt on big-endian platforms (GH-131879) X-Git-Tag: v3.14.0a7~148 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c6b1a073438d93d4e62957accc73487df6711851;p=thirdparty%2FPython%2Fcpython.git gh-131853: Fix test_msgfmt on big-endian platforms (GH-131879) Use a generated .mo file instead of a checked in one. --- diff --git a/Lib/test/test_tools/test_msgfmt.py b/Lib/test/test_tools/test_msgfmt.py index dafac0562f47..ea10d4693df7 100644 --- a/Lib/test/test_tools/test_msgfmt.py +++ b/Lib/test/test_tools/test_msgfmt.py @@ -42,8 +42,11 @@ class CompilationTest(unittest.TestCase): self.assertDictEqual(actual._catalog, expected._catalog) def test_binary_header(self): - with open(data_dir / "general.mo", "rb") as f: - mo_data = f.read() + with temp_cwd(): + tmp_mo_file = 'messages.mo' + compile_messages(data_dir / "general.po", tmp_mo_file) + with open(tmp_mo_file, 'rb') as f: + mo_data = f.read() ( magic, @@ -53,7 +56,7 @@ class CompilationTest(unittest.TestCase): trans_table_offset, hash_table_size, hash_table_offset, - ) = struct.unpack("=Iiiiiii", mo_data[:28]) + ) = struct.unpack("=7I", mo_data[:28]) self.assertEqual(magic, 0x950412de) self.assertEqual(version, 0)