test_ttk_guionly.py 986 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import unittest
  2. from test import support
  3. from test.support import import_helper
  4. from test.support import check_sanitizer
  5. if check_sanitizer(address=True, memory=True):
  6. raise unittest.SkipTest("Tests involvin libX11 can SEGFAULT on ASAN/MSAN builds")
  7. # Skip this test if _tkinter wasn't built.
  8. import_helper.import_module('_tkinter')
  9. # Skip test if tk cannot be initialized.
  10. support.requires('gui')
  11. import tkinter
  12. from _tkinter import TclError
  13. from tkinter import ttk
  14. def setUpModule():
  15. root = None
  16. try:
  17. root = tkinter.Tk()
  18. button = ttk.Button(root)
  19. button.destroy()
  20. del button
  21. except TclError as msg:
  22. # assuming ttk is not available
  23. raise unittest.SkipTest("ttk not available: %s" % msg)
  24. finally:
  25. if root is not None:
  26. root.destroy()
  27. del root
  28. def load_tests(loader, tests, pattern):
  29. return loader.discover('tkinter.test.test_ttk')
  30. if __name__ == '__main__':
  31. unittest.main()