text: import sys
  import os
  dir = os.path.dirname(sys.argv[0])
  scriptsdir = os.path.normpath(os.path.join(dir, os.pardir, 'scripts'))
  sys.path.append(scriptsdir)
  from support import *
  
  def test931():
      '''exec and eval are not thread safe'''
  
      from java.lang import Thread
  
      class TestThread(Thread):
          def run(self):
              for i in range(30):
                  exec("x=2+2")
  
      testers = []
      for i in range(10):
          testers.append(TestThread())
  
      for tester in testers:
          tester.start()
  
  
      for tester in testers:
          tester.join()
  
  code32 = """\
  def foo():
      try:
          2+2
      finally:
          return 4
  """
  
  def test32():
      'return in finally clause causes java.lang.VerifyError at compile time'
      exec(code32)
  
  print('Bug Fixes')
  print('From 1.0.1 to 1.0.2')
  
  items = sorted(list(locals().items()))
  
  errors = 0
  for name, value in items:
      if name[:4] == 'test':
          print(value.__doc__+' #'+name[4:])
          try:
              value()
          except:
              print('Error!', sys.exc_info()[0], sys.exc_info()[1])
              errors = errors+1
  
  print(errors, 'errors')
  