]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-131853: Fix test_msgfmt on big-endian platforms (GH-131879)
authorSerhiy Storchaka <storchaka@gmail.com>
Sat, 29 Mar 2025 17:14:37 +0000 (19:14 +0200)
committerGitHub <noreply@github.com>
Sat, 29 Mar 2025 17:14:37 +0000 (19:14 +0200)
Use a generated .mo file instead of a checked in one.

Lib/test/test_tools/test_msgfmt.py

index dafac0562f472df3ce1dc8aa2b4a44a93fad0ce8..ea10d4693df75ac0ac92c3bff6938ae9732e9819 100644 (file)
@@ -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)