1  import os.path
       2  import unittest
       3  from test import support
       4  from test.support import import_helper
       5  
       6  
       7  if support.check_sanitizer(address=True, memory=True):
       8      raise unittest.SkipTest("Tests involving libX11 can SEGFAULT on ASAN/MSAN builds")
       9  
      10  # Skip this test if _tkinter wasn't built.
      11  import_helper.import_module('_tkinter')
      12  
      13  # Skip test if tk cannot be initialized.
      14  support.requires('gui')
      15  
      16  
      17  import tkinter
      18  from _tkinter import TclError
      19  from tkinter import ttk
      20  
      21  
      22  def setUpModule():
      23      root = None
      24      try:
      25          root = tkinter.Tk()
      26          button = ttk.Button(root)
      27          button.destroy()
      28          del button
      29      except TclError as msg:
      30          # assuming ttk is not available
      31          raise unittest.SkipTest("ttk not available: %s" % msg)
      32      finally:
      33          if root is not None:
      34              root.destroy()
      35          del root
      36  
      37  
      38  def load_tests(*args):
      39      return support.load_package_tests(os.path.dirname(__file__), *args)