]> granicus.if.org Git - python/commitdiff
Issue 19276: Fix tests for wave files on big-endian platforms.
authorSerhiy Storchaka <storchaka@gmail.com>
Thu, 17 Oct 2013 09:46:00 +0000 (12:46 +0300)
committerSerhiy Storchaka <storchaka@gmail.com>
Thu, 17 Oct 2013 09:46:00 +0000 (12:46 +0300)
Skip tests for 24-bit wave file on big-endian platforms.

Lib/test/test_wave.py

index 049d0d87b12f2c6d85abbff96ec50915913008f1..b4413c665b31ef48730224e7555f4245267b7b62 100644 (file)
@@ -1,6 +1,7 @@
 from test.support import TESTFN
 import unittest
 from test import audiotests
+import sys
 import wave
 
 
@@ -44,9 +45,13 @@ class WavePCM16Test(audiotests.AudioWriteTests,
       EEDF1755 82061666 7FFF1446 80001296 499C0EB2 52BA0DB9 EFB70F5C CE400FBC \
       E4B50CEB 63440A5A 08CA0A1F 2BBA0B0B 51460E47 8BCB113C B6F50EEA 44150A59 \
       """)
-    frames = audiotests.byteswap2(frames)
+    if sys.byteorder != 'big':
+        frames = audiotests.byteswap2(frames)
 
 
+@unittest.skipIf(sys.byteorder == 'big',
+                 '24-bit wave files are supported only on little-endian '
+                 'platforms')
 class WavePCM24Test(audiotests.AudioWriteTests,
         audiotests.AudioTestsWithSourceFile,
         unittest.TestCase):
@@ -73,7 +78,8 @@ class WavePCM24Test(audiotests.AudioWriteTests,
       E4B49C0CEA2D 6344A80A5A7C 08C8FE0A1FFE 2BB9860B0A0E \
       51486F0E44E1 8BCC64113B05 B6F4EC0EEB36 4413170A5B48 \
       """)
-    frames = audiotests.byteswap3(frames)
+    if sys.byteorder != 'big':
+        frames = audiotests.byteswap3(frames)
 
 
 class WavePCM32Test(audiotests.AudioWriteTests,
@@ -102,7 +108,8 @@ class WavePCM32Test(audiotests.AudioWriteTests,
       E4B49CC00CEA2D90 6344A8800A5A7CA0 08C8FE800A1FFEE0 2BB986C00B0A0E00 \
       51486F800E44E190 8BCC6480113B0580 B6F4EC000EEB3630 441317800A5B48A0 \
       """)
-    frames = audiotests.byteswap4(frames)
+    if sys.byteorder != 'big':
+        frames = audiotests.byteswap4(frames)
 
 
 if __name__ == '__main__':