text: # tests for things that are not implemented, or have non-compliant behaviour
  
  try:
      import array
      import struct
  except ImportError:
      print("SKIP")
      raise SystemExit
  
  # when super can't find self
  try:
      exec('def f(): super()')
  except SyntaxError:
      print('SyntaxError')
  
  # store to exception attribute is not allowed
  try:
      ValueError().x = 0
  except AttributeError:
      print('AttributeError')
  
  # array deletion not implemented
  try:
      a = array.array('b', (1, 2, 3))
      del a[1]
  except TypeError:
      print('TypeError')
  
  # slice with step!=1 not implemented
  try:
      a = array.array('b', (1, 2, 3))
      print(a[3:2:2])
  except NotImplementedError:
      print('NotImplementedError')
  
  # containment, looking for integer not implemented
  try:
      print(1 in array.array('B', b'12'))
  except NotImplementedError:
      print('NotImplementedError')
  
  # uPy raises TypeError, shold be ValueError
  try:
      '%c' % b'\x01\x02'
  except (TypeError, ValueError):
      print('TypeError, ValueError')
  
  # attributes/subscr not implemented
  try:
      print('{a[0]}'.format(a=[1, 2]))
  except NotImplementedError:
      print('NotImplementedError')
  
  # str(...) with keywords not implemented
  try:
      str(b'abc', encoding='utf8')
  except NotImplementedError:
      print('NotImplementedError')
  
  # str.rsplit(None, n) not implemented
  try:
      'a a a'.rsplit(None, 1)
  except NotImplementedError:
      print('NotImplementedError')
  
  # str.endswith(s, start) not implemented
  try:
      'abc'.endswith('c', 1)
  except NotImplementedError:
      print('NotImplementedError')
  
  # str subscr with step!=1 not implemented
  try:
      print('abc'[1:2:3])
  except NotImplementedError:
      print('NotImplementedError')
  
  # bytes(...) with keywords not implemented
  try:
      bytes('abc', encoding='utf8')
  except NotImplementedError:
      print('NotImplementedError')
  
  # bytes subscr with step!=1 not implemented
  try:
      b'123'[0:3:2]
  except NotImplementedError:
      print('NotImplementedError')
  
  # tuple load with step!=1 not implemented
  try:
      ()[2:3:4]
  except NotImplementedError:
      print('NotImplementedError')
  
  # list store with step!=1 not implemented
  try:
      [][2:3:4] = []
  except NotImplementedError:
      print('NotImplementedError')
  
  # list delete with step!=1 not implemented
  try:
      del [][2:3:4]
  except NotImplementedError:
      print('NotImplementedError')
  
  # struct pack with too many args, not checked by uPy
  print(struct.pack('bb', 1, 2, 3))
  
  # struct pack with too few args, not checked by uPy
  print(struct.pack('bb', 1))
  
  # array slice assignment with unsupported RHS
  try:
      bytearray(4)[0:1] = [1, 2]
  except NotImplementedError:
      print('NotImplementedError')
  
  # can't assign attributes to a function
  def f():
      pass
  try:
      f.x = 1
  except AttributeError:
      print('AttributeError')
  
  # can't call a function type (ie make new instances of a function)
  try:
      type(f)()
  except TypeError:
      print('TypeError')
  
  # test when object explicitly listed at not-last position in parent tuple
  # this is not compliant with CPython because of illegal MRO
  class A:
      def foo(self):
          print('A.foo')
  class B(object, A):
      pass
  B().foo()
  
  # can't assign property (or other special accessors) to already-subclassed class
  class A:
      pass
  class B(A):
      pass
  try:
      A.bar = property()
  except AttributeError:
      print('AttributeError')
  