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:
Damien George 2020-07-26 14:43:13 +10:00
parent 0c0cef9870
commit 8da40baa47
2 changed files with 12 additions and 26 deletions

View File

@ -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):

View File

@ -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):