Make audioop and its tests use bytes throughout.

This commit is contained in:
Martin v. Löwis 2007-07-20 07:36:26 +00:00
parent b1a9f2772b
commit 3a2e5ce575
2 changed files with 65 additions and 64 deletions

View File

@ -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+'()')

View File

@ -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;