tests/micropython: Improve .mpy import tests to run on more targets.
All imports are now tested to see if the test should be skipped, UserFile.read is removed, and UserFile.readinto is made more efficient. Signed-off-by: Damien George <damien@micropython.org>
This commit is contained in:
parent
631e2ce0c4
commit
9e76fdab0d
@ -1,11 +1,9 @@
|
||||
# test importing of invalid .mpy files
|
||||
|
||||
import sys, uio
|
||||
|
||||
try:
|
||||
uio.IOBase
|
||||
import uos
|
||||
import sys, uio, uos
|
||||
|
||||
uio.IOBase
|
||||
uos.mount
|
||||
except (ImportError, AttributeError):
|
||||
print("SKIP")
|
||||
@ -14,18 +12,13 @@ except (ImportError, AttributeError):
|
||||
|
||||
class UserFile(uio.IOBase):
|
||||
def __init__(self, data):
|
||||
self.data = data
|
||||
self.data = memoryview(data)
|
||||
self.pos = 0
|
||||
|
||||
def read(self):
|
||||
return self.data
|
||||
|
||||
def readinto(self, buf):
|
||||
n = 0
|
||||
while n < len(buf) and self.pos < len(self.data):
|
||||
buf[n] = self.data[self.pos]
|
||||
n += 1
|
||||
self.pos += 1
|
||||
n = min(len(buf), len(self.data) - self.pos)
|
||||
buf[:n] = self.data[self.pos : self.pos + n]
|
||||
self.pos += n
|
||||
return n
|
||||
|
||||
def ioctl(self, req, arg):
|
||||
|
||||
@ -1,11 +1,9 @@
|
||||
# test importing of .mpy files with native code (x64 only)
|
||||
|
||||
import sys, uio
|
||||
|
||||
try:
|
||||
uio.IOBase
|
||||
import uos
|
||||
import sys, uio, uos
|
||||
|
||||
uio.IOBase
|
||||
uos.mount
|
||||
except (ImportError, AttributeError):
|
||||
print("SKIP")
|
||||
@ -18,18 +16,13 @@ if not (sys.platform == "linux" and sys.maxsize > 2 ** 32):
|
||||
|
||||
class UserFile(uio.IOBase):
|
||||
def __init__(self, data):
|
||||
self.data = data
|
||||
self.data = memoryview(data)
|
||||
self.pos = 0
|
||||
|
||||
def read(self):
|
||||
return self.data
|
||||
|
||||
def readinto(self, buf):
|
||||
n = 0
|
||||
while n < len(buf) and self.pos < len(self.data):
|
||||
buf[n] = self.data[self.pos]
|
||||
n += 1
|
||||
self.pos += 1
|
||||
n = min(len(buf), len(self.data) - self.pos)
|
||||
buf[:n] = self.data[self.pos : self.pos + n]
|
||||
self.pos += n
|
||||
return n
|
||||
|
||||
def ioctl(self, req, arg):
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user