pyopengl icon indicating copy to clipboard operation
pyopengl copied to clipboard

test_buffer_api_basic fails on i586 and armv7l with accelerate support

Open jayvdb opened this issue 5 years ago • 0 comments

test_buffer_api_basic fails on i586 and armv7l , presumably due to some 32bit arch problem.

[  121s] tests/test_arraydatatype.py::TestCoreDatatype::test_buffer_api_basic FAILED
[  121s] 
[  121s] =================================== FAILURES ===================================
[  121s] ____________________ TestCoreDatatype.test_buffer_api_basic ____________________
[  121s] 
[  121s] self = <test_arraydatatype.TestCoreDatatype testMethod=test_buffer_api_basic>
[  121s] 
[  121s]     @pytest.mark.skipif( not (
[  121s]         OpenGL.USE_ACCELERATE and acceleratesupport.ACCELERATE_AVAILABLE
[  121s]     ), reason="Need OpenGL_accelerate for buffer support")
[  121s]     def test_buffer_api_basic(self):
[  121s]         import array as silly_array
[  121s]         structures = [
[  121s]             (b'this and that',13,1,True,1,b'B',[13],[1]),
[  121s]         ]
[  121s]         if sys.version_info[:2] >= (2,7):
[  121s]             structures.append(
[  121s]                 # on Python 3.4 we do *not* get the (3) prefix :(
[  121s]                 ((GLint * 3)( 1,2,3 ),12,4,False,1,[b'(3)<i',b'(3)<l',b'<i'],[3],None),
[  121s]             )
[  121s]     
[  121s]         if sys.version_info[:2] >= (3,0):
[  121s]             # only supports buffer protocol in 3.x
[  121s]             structures.extend([
[  121s]                 (silly_array.array('I',[1,2,3]),12,4,False,1,b'I',[3],[4]),
[  121s]             ])
[  121s]         try:
[  121s]             structures.append( (memoryview(b'this'),4,1,True,1,b'B',[4],[1]) )
[  121s]         except NameError:
[  121s]             # Python 2.6 doesn't have memory view
[  121s]             pass
[  121s]         try:
[  121s]             if array:
[  121s]                 structures.extend( [
[  121s]                     (arange(0,9,dtype='I').reshape((3,3)),36,4,False,2,b'I',[3,3],[12,4]),
[  121s]                     (arange(0,9,dtype='I').reshape((3,3))[:,1],12,4,False,1,b'I',[3],[12]),
[  121s]                 ])
[  121s]         except NameError:
[  121s]             # Don't have numpy installed...
[  121s]             pass
[  121s]     
[  121s]         from OpenGL.arrays import _buffers
[  121s]         for object,length,itemsize,readonly,ndim,format,shape,strides in structures:
[  121s]             buf = _buffers.Py_buffer.from_object( object, _buffers.PyBUF_STRIDES|_buffers.PyBUF_FORMAT )
[  121s]             with buf:
[  121s]                 assert buf.len == length, (object,length,buf.len)
[  121s]                 assert buf.itemsize == itemsize, (object,itemsize,buf.itemsize)
[  121s]                 assert buf.readonly == readonly, (object,readonly,buf.readonly)
[  121s]                 assert buf.ndim == ndim, (object,ndim,buf.ndim)
[  121s]                 if isinstance( format, list):
[  121s] >                   assert buf.format in format, (object,format,buf.format)
[  121s] E                   AssertionError: (<test_arraydatatype.c_long_Array_3 object at 0xa8cdb7c4>, ['(3)<i', '(3)<l', '<i'], '<l')
[  121s] E                   assert '<l' in ['(3)<i', '(3)<l', '<i']
[  121s] E                    +  where '<l' = <OpenGL.arrays._buffers.Py_buffer object at 0xa8cdba94>.format
[  121s] 
[  121s] tests/test_arraydatatype.py:245: AssertionError

jayvdb avatar Aug 19 '19 02:08 jayvdb