[Python-3000-checkins] r56469 - in python/branches/py3k-struni: Lib/test/test_audioop.py Modules/audioop.c

martin.v.loewis python-3000-checkins at python.org
Fri Jul 20 09:36:26 CEST 2007


Author: martin.v.loewis
Date: Fri Jul 20 09:36:26 2007
New Revision: 56469

Modified:
   python/branches/py3k-struni/Lib/test/test_audioop.py
   python/branches/py3k-struni/Modules/audioop.c
Log:
Make audioop and its tests use bytes throughout.


Modified: python/branches/py3k-struni/Lib/test/test_audioop.py
==============================================================================
--- python/branches/py3k-struni/Lib/test/test_audioop.py	(original)
+++ python/branches/py3k-struni/Lib/test/test_audioop.py	Fri Jul 20 09:36:26 2007
@@ -3,23 +3,23 @@
 from test.test_support import verbose
 
 def gendata1():
-    return '\0\1\2'
+    return b'\0\1\2'
 
 def gendata2():
     if verbose:
         print('getsample')
-    if audioop.getsample('\0\1', 2, 0) == 1:
-        return '\0\0\0\1\0\2'
+    if audioop.getsample(b'\0\1', 2, 0) == 1:
+        return b'\0\0\0\1\0\2'
     else:
-        return '\0\0\1\0\2\0'
+        return b'\0\0\1\0\2\0'
 
 def gendata4():
     if verbose:
         print('getsample')
-    if audioop.getsample('\0\0\0\1', 4, 0) == 1:
-        return '\0\0\0\0\0\0\0\1\0\0\0\2'
+    if audioop.getsample(b'\0\0\0\1', 4, 0) == 1:
+        return b'\0\0\0\0\0\0\0\1\0\0\0\2'
     else:
-        return '\0\0\0\0\1\0\0\0\2\0\0\0'
+        return b'\0\0\0\0\1\0\0\0\2\0\0\0'
 
 def testmax(data):
     if verbose:
@@ -87,9 +87,9 @@
         print('add')
     data2 = []
     for d in data:
-        str = ''
-        for s in d:
-            str = str + chr(ord(s)*2)
+        str = bytes(len(d))
+        for i,b in enumerate(d):
+            str[i] = 2*b
         data2.append(str)
     if audioop.add(data[0], data[0], 1) != data2[0] or \
               audioop.add(data[1], data[1], 2) != data2[1] or \
@@ -124,7 +124,7 @@
 
 def testadpcm2lin(data):
     # Very cursory test
-    if audioop.adpcm2lin('\0\0', 1, None) != ('\0\0\0\0', (0,0)):
+    if audioop.adpcm2lin(b'\0\0', 1, None) != (b'\0\0\0\0', (0,0)):
         return 0
     return 1
 
@@ -132,16 +132,16 @@
     if verbose:
         print('lin2adpcm')
     # Very cursory test
-    if audioop.lin2adpcm('\0\0\0\0', 1, None) != ('\0\0', (0,0)):
+    if audioop.lin2adpcm(b'\0\0\0\0', 1, None) != (b'\0\0', (0,0)):
         return 0
     return 1
 
 def testlin2alaw(data):
     if verbose:
         print('lin2alaw')
-    if audioop.lin2alaw(data[0], 1) != '\xd5\xc5\xf5' or \
-              audioop.lin2alaw(data[1], 2) != '\xd5\xd5\xd5' or \
-              audioop.lin2alaw(data[2], 4) != '\xd5\xd5\xd5':
+    if audioop.lin2alaw(data[0], 1) != b'\xd5\xc5\xf5' or \
+              audioop.lin2alaw(data[1], 2) != b'\xd5\xd5\xd5' or \
+              audioop.lin2alaw(data[2], 4) != b'\xd5\xd5\xd5':
         return 0
     return 1
 
@@ -157,9 +157,9 @@
 def testlin2ulaw(data):
     if verbose:
         print('lin2ulaw')
-    if audioop.lin2ulaw(data[0], 1) != '\xff\xe7\xdb' or \
-              audioop.lin2ulaw(data[1], 2) != '\xff\xff\xff' or \
-              audioop.lin2ulaw(data[2], 4) != '\xff\xff\xff':
+    if audioop.lin2ulaw(data[0], 1) != b'\xff\xe7\xdb' or \
+              audioop.lin2ulaw(data[1], 2) != b'\xff\xff\xff' or \
+              audioop.lin2ulaw(data[2], 4) != b'\xff\xff\xff':
         return 0
     return 1
 
@@ -177,9 +177,9 @@
         print('mul')
     data2 = []
     for d in data:
-        str = ''
-        for s in d:
-            str = str + chr(ord(s)*2)
+        str = bytes(len(d))
+        for i,b in enumerate(d):
+            str[i] = 2*b
         data2.append(str)
     if audioop.mul(data[0], 1, 2) != data2[0] or \
               audioop.mul(data[1],2, 2) != data2[1] or \
@@ -193,23 +193,24 @@
     state = None
     d1, state = audioop.ratecv(data[0], 1, 1, 8000, 16000, state)
     d2, state = audioop.ratecv(data[0], 1, 1, 8000, 16000, state)
-    if d1 + d2 != '\000\000\001\001\002\001\000\000\001\001\002':
+    if d1 + d2 != b'\000\000\001\001\002\001\000\000\001\001\002':
         return 0
     return 1
 
 def testreverse(data):
     if verbose:
         print('reverse')
-    if audioop.reverse(data[0], 1) != '\2\1\0':
+    if audioop.reverse(data[0], 1) != b'\2\1\0':
         return 0
     return 1
 
 def testtomono(data):
     if verbose:
         print('tomono')
-    data2 = ''
+    data2 = b''
     for d in data[0]:
-        data2 = data2 + d + d
+        data2.append(d)
+        data2.append(d)
     if audioop.tomono(data2, 1, 0.5, 0.5) != data[0]:
         return 0
     return 1
@@ -217,9 +218,10 @@
 def testtostereo(data):
     if verbose:
         print('tostereo')
-    data2 = ''
+    data2 = b''
     for d in data[0]:
-        data2 = data2 + d + d
+        data2.append(d)
+        data2.append(d)
     if audioop.tostereo(data[0], 1, 1, 1) != data2:
         return 0
     return 1
@@ -263,8 +265,8 @@
         return
     try:
         rv = func(data)
-    except 'xx':
-        print('Test FAILED for audioop.'+name+'() (with an exception)')
+    except Exception as e:
+        print('Test FAILED for audioop.'+name+'() (with %s)' % repr(e))
         return
     if not rv:
         print('Test FAILED for audioop.'+name+'()')

Modified: python/branches/py3k-struni/Modules/audioop.c
==============================================================================
--- python/branches/py3k-struni/Modules/audioop.c	(original)
+++ python/branches/py3k-struni/Modules/audioop.c	Fri Jul 20 09:36:26 2007
@@ -759,10 +759,10 @@
                 return 0;
         }
     
-        rv = PyString_FromStringAndSize(NULL, len);
+        rv = PyBytes_FromStringAndSize(NULL, len);
         if ( rv == 0 )
                 return 0;
-        ncp = (signed char *)PyString_AsString(rv);
+        ncp = (signed char *)PyBytes_AsString(rv);
     
     
         for ( i=0; i < len; i += size ) {
@@ -801,10 +801,10 @@
                 return 0;
         }
     
-        rv = PyString_FromStringAndSize(NULL, len/2);
+        rv = PyBytes_FromStringAndSize(NULL, len/2);
         if ( rv == 0 )
                 return 0;
-        ncp = (signed char *)PyString_AsString(rv);
+        ncp = (signed char *)PyBytes_AsString(rv);
     
     
         for ( i=0; i < len; i += size*2 ) {
@@ -846,10 +846,10 @@
                 return 0;
         }
     
-        rv = PyString_FromStringAndSize(NULL, len*2);
+        rv = PyBytes_FromStringAndSize(NULL, len*2);
         if ( rv == 0 )
                 return 0;
-        ncp = (signed char *)PyString_AsString(rv);
+        ncp = (signed char *)PyBytes_AsString(rv);
     
     
         for ( i=0; i < len; i += size ) {
@@ -903,10 +903,10 @@
                 return 0;
         }
 
-        rv = PyString_FromStringAndSize(NULL, len1);
+        rv = PyBytes_FromStringAndSize(NULL, len1);
         if ( rv == 0 )
                 return 0;
-        ncp = (signed char *)PyString_AsString(rv);
+        ncp = (signed char *)PyBytes_AsString(rv);
 
         for ( i=0; i < len1; i += size ) {
                 if ( size == 1 )      val1 = (int)*CHARP(cp1, i);
@@ -949,10 +949,10 @@
                 return 0;
         }
     
-        rv = PyString_FromStringAndSize(NULL, len);
+        rv = PyBytes_FromStringAndSize(NULL, len);
         if ( rv == 0 )
                 return 0;
-        ncp = (signed char *)PyString_AsString(rv);
+        ncp = (signed char *)PyBytes_AsString(rv);
     
     
         for ( i=0; i < len; i += size ) {
@@ -985,10 +985,10 @@
                 return 0;
         }
     
-        rv = PyString_FromStringAndSize(NULL, len);
+        rv = PyBytes_FromStringAndSize(NULL, len);
         if ( rv == 0 )
                 return 0;
-        ncp = (unsigned char *)PyString_AsString(rv);
+        ncp = (unsigned char *)PyBytes_AsString(rv);
     
         for ( i=0; i < len; i += size ) {
                 if ( size == 1 )      val = ((int)*CHARP(cp, i)) << 8;
@@ -1023,10 +1023,10 @@
                 return 0;
         }
     
-        rv = PyString_FromStringAndSize(NULL, (len/size)*size2);
+        rv = PyBytes_FromStringAndSize(NULL, (len/size)*size2);
         if ( rv == 0 )
                 return 0;
-        ncp = (unsigned char *)PyString_AsString(rv);
+        ncp = (unsigned char *)PyBytes_AsString(rv);
     
         for ( i=0, j=0; i < len; i += size, j += size2 ) {
                 if ( size == 1 )      val = ((int)*CHARP(cp, i)) << 8;
@@ -1157,7 +1157,7 @@
                     nbytes / bytes_per_frame != ceiling)
                         str = NULL;
                 else
-                        str = PyString_FromStringAndSize(NULL, nbytes);
+                        str = PyBytes_FromStringAndSize(NULL, nbytes);
 
                 if (str == NULL) {
                         PyErr_SetString(PyExc_MemoryError,
@@ -1165,7 +1165,7 @@
                         goto exit;
                 }
         }
-        ncp = PyString_AsString(str);
+        ncp = PyBytes_AsString(str);
 
         for (;;) {
                 while (d < 0) {
@@ -1182,13 +1182,12 @@
                                         goto exit;
                                 /* We have checked before that the length
                                  * of the string fits into int. */
-                                len = (int)(ncp - PyString_AsString(str));
-                                if (len == 0) {
-                                        /*don't want to resize to zero length*/
-                                        rv = PyString_FromStringAndSize("", 0);
-                                        Py_DECREF(str);
-                                        str = rv;
-                                } else if (_PyString_Resize(&str, len) < 0)
+                                len = (int)(ncp - PyBytes_AsString(str));
+				rv = PyBytes_FromStringAndSize
+					(PyBytes_AsString(str), len);
+				Py_DECREF(str);
+				str = rv;
+				if (str == NULL)
                                         goto exit;
                                 rv = Py_BuildValue("(O(iO))", str, d, samps);
                                 Py_DECREF(samps);
@@ -1255,10 +1254,10 @@
                 return 0;
         }
     
-        rv = PyString_FromStringAndSize(NULL, len/size);
+        rv = PyBytes_FromStringAndSize(NULL, len/size);
         if ( rv == 0 )
                 return 0;
-        ncp = (unsigned char *)PyString_AsString(rv);
+        ncp = (unsigned char *)PyBytes_AsString(rv);
     
         for ( i=0; i < len; i += size ) {
                 if ( size == 1 )      val = ((int)*CHARP(cp, i)) << 8;
@@ -1289,10 +1288,10 @@
                 return 0;
         }
     
-        rv = PyString_FromStringAndSize(NULL, len*size);
+        rv = PyBytes_FromStringAndSize(NULL, len*size);
         if ( rv == 0 )
                 return 0;
-        ncp = (signed char *)PyString_AsString(rv);
+        ncp = (signed char *)PyBytes_AsString(rv);
     
         for ( i=0; i < len*size; i += size ) {
                 cval = *cp++;
@@ -1323,10 +1322,10 @@
                 return 0;
         }
     
-        rv = PyString_FromStringAndSize(NULL, len/size);
+        rv = PyBytes_FromStringAndSize(NULL, len/size);
         if ( rv == 0 )
                 return 0;
-        ncp = (unsigned char *)PyString_AsString(rv);
+        ncp = (unsigned char *)PyBytes_AsString(rv);
     
         for ( i=0; i < len; i += size ) {
                 if ( size == 1 )      val = ((int)*CHARP(cp, i)) << 8;
@@ -1357,10 +1356,10 @@
                 return 0;
         }
     
-        rv = PyString_FromStringAndSize(NULL, len*size);
+        rv = PyBytes_FromStringAndSize(NULL, len*size);
         if ( rv == 0 )
                 return 0;
-        ncp = (signed char *)PyString_AsString(rv);
+        ncp = (signed char *)PyBytes_AsString(rv);
     
         for ( i=0; i < len*size; i += size ) {
                 cval = *cp++;
@@ -1393,10 +1392,10 @@
                 return 0;
         }
     
-        str = PyString_FromStringAndSize(NULL, len/(size*2));
+        str = PyBytes_FromStringAndSize(NULL, len/(size*2));
         if ( str == 0 )
                 return 0;
-        ncp = (signed char *)PyString_AsString(str);
+        ncp = (signed char *)PyBytes_AsString(str);
 
         /* Decode state, should have (value, step) */
         if ( state == Py_None ) {
@@ -1509,10 +1508,10 @@
         } else if ( !PyArg_ParseTuple(state, "ii", &valpred, &index) )
                 return 0;
     
-        str = PyString_FromStringAndSize(NULL, len*size*2);
+        str = PyBytes_FromStringAndSize(NULL, len*size*2);
         if ( str == 0 )
                 return 0;
-        ncp = (signed char *)PyString_AsString(str);
+        ncp = (signed char *)PyBytes_AsString(str);
 
         step = stepsizeTable[index];
         bufferstep = 0;


More information about the Python-3000-checkins mailing list