17db96d56Sopenharmony_ciimport unittest 27db96d56Sopenharmony_cifrom test import support 37db96d56Sopenharmony_cifrom test.support import import_helper 47db96d56Sopenharmony_cifrom test.support import check_sanitizer 57db96d56Sopenharmony_ci 67db96d56Sopenharmony_ciif check_sanitizer(address=True, memory=True): 77db96d56Sopenharmony_ci raise unittest.SkipTest("Tests involvin libX11 can SEGFAULT on ASAN/MSAN builds") 87db96d56Sopenharmony_ci 97db96d56Sopenharmony_ci# Skip this test if _tkinter wasn't built. 107db96d56Sopenharmony_ciimport_helper.import_module('_tkinter') 117db96d56Sopenharmony_ci 127db96d56Sopenharmony_ci# Skip test if tk cannot be initialized. 137db96d56Sopenharmony_cisupport.requires('gui') 147db96d56Sopenharmony_ci 157db96d56Sopenharmony_ciimport tkinter 167db96d56Sopenharmony_cifrom _tkinter import TclError 177db96d56Sopenharmony_cifrom tkinter import ttk 187db96d56Sopenharmony_ci 197db96d56Sopenharmony_ci 207db96d56Sopenharmony_cidef setUpModule(): 217db96d56Sopenharmony_ci root = None 227db96d56Sopenharmony_ci try: 237db96d56Sopenharmony_ci root = tkinter.Tk() 247db96d56Sopenharmony_ci button = ttk.Button(root) 257db96d56Sopenharmony_ci button.destroy() 267db96d56Sopenharmony_ci del button 277db96d56Sopenharmony_ci except TclError as msg: 287db96d56Sopenharmony_ci # assuming ttk is not available 297db96d56Sopenharmony_ci raise unittest.SkipTest("ttk not available: %s" % msg) 307db96d56Sopenharmony_ci finally: 317db96d56Sopenharmony_ci if root is not None: 327db96d56Sopenharmony_ci root.destroy() 337db96d56Sopenharmony_ci del root 347db96d56Sopenharmony_ci 357db96d56Sopenharmony_cidef load_tests(loader, tests, pattern): 367db96d56Sopenharmony_ci return loader.discover('tkinter.test.test_ttk') 377db96d56Sopenharmony_ci 387db96d56Sopenharmony_ci 397db96d56Sopenharmony_ciif __name__ == '__main__': 407db96d56Sopenharmony_ci unittest.main() 41