summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2007-07-20 07:36:26 (GMT)
committerMartin v. Löwis <martin@v.loewis.de>2007-07-20 07:36:26 (GMT)
commit3a2e5ce57506d176b43777ab378f1e2de99eec7d (patch)
tree0dcdfafebb540abb4176fdb6f4999e46050c3acb
parentb1a9f2772ba21f268a8164908714e5a106be50d1 (diff)
downloadcpython-3a2e5ce57506d176b43777ab378f1e2de99eec7d.zip
cpython-3a2e5ce57506d176b43777ab378f1e2de99eec7d.tar.gz
cpython-3a2e5ce57506d176b43777ab378f1e2de99eec7d.tar.bz2
Make audioop and its tests use bytes throughout.
-rw-r--r--Lib/test/test_audioop.py60
-rw-r--r--Modules/audioop.c69
2 files changed, 65 insertions, 64 deletions
diff --git a/Lib/test/test_audioop.py b/Lib/test/test_audioop.py
index 926a3cd..194d783 100644
--- a/Lib/test/test_audioop.py
+++ b/Lib/test/test_audioop.py
@@ -3,23 +3,23 @@ import audioop
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 @@ def testadd(data):
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 testlin2lin(data):
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 @@ def testlin2adpcm(data):
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 testalaw2lin(data):
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 @@ def testmul(data):
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 @@ def testratecv(data):
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 testtomono(data):
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 @@ def testone(name, data):
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+'()')
diff --git a/Modules/audioop.c b/Modules/audioop.c
index ce00975..bdee468 100644
--- a/Modules/audioop.c
+++ b/Modules/audioop.c
@@ -759,10 +759,10 @@ audioop_mul(PyObject *self, PyObject *args)
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 @@ audioop_tomono(PyObject *self, PyObject *args)
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 @@ audioop_tostereo(PyObject *self, PyObject *args)
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 @@ audioop_add(PyObject *self, PyObject *args)
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 @@ audioop_bias(PyObject *self, PyObject *args)
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 @@ audioop_reverse(PyObject *self, PyObject *args)
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 @@ audioop_lin2lin(PyObject *self, PyObject *args)
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 @@ audioop_ratecv(PyObject *self, PyObject *args)
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 @@ audioop_ratecv(PyObject *self, PyObject *args)
goto exit;
}
}
- ncp = PyString_AsString(str);
+ ncp = PyBytes_AsString(str);
for (;;) {
while (d < 0) {
@@ -1182,13 +1182,12 @@ audioop_ratecv(PyObject *self, PyObject *args)
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 @@ audioop_lin2ulaw(PyObject *self, PyObject *args)
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 @@ audioop_ulaw2lin(PyObject *self, PyObject *args)
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 @@ audioop_lin2alaw(PyObject *self, PyObject *args)
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 @@ audioop_alaw2lin(PyObject *self, PyObject *args)
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 @@ audioop_lin2adpcm(PyObject *self, PyObject *args)
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 @@ audioop_adpcm2lin(PyObject *self, PyObject *args)
} 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;