1e4763ca8SMircea Trofin# -*- Python -*- 2e4763ca8SMircea Trofin 3e4763ca8SMircea Trofinimport os 4e4763ca8SMircea Trofinimport platform 5e4763ca8SMircea Trofinimport re 6e4763ca8SMircea Trofin 7e4763ca8SMircea Trofinimport lit.formats 8e4763ca8SMircea Trofin 9e4763ca8SMircea Trofin# Only run the tests on supported OSs. 10e4763ca8SMircea Trofinif config.host_os not in ["Linux"]: 11e4763ca8SMircea Trofin config.unsupported = True 12e4763ca8SMircea Trofin 13e4763ca8SMircea Trofin 14e4763ca8SMircea Trofindef get_required_attr(config, attr_name): 15e4763ca8SMircea Trofin attr_value = getattr(config, attr_name, None) 16*0af6c304SEisuke Kawashima if attr_value is None: 17e4763ca8SMircea Trofin lit_config.fatal( 18e4763ca8SMircea Trofin "No attribute %r in test configuration! You may need to run " 19e4763ca8SMircea Trofin "tests from your build directory or add this attribute " 20e4763ca8SMircea Trofin "to lit.site.cfg.py " % attr_name 21e4763ca8SMircea Trofin ) 22e4763ca8SMircea Trofin return attr_value 23e4763ca8SMircea Trofin 24e4763ca8SMircea Trofin 25e4763ca8SMircea Trofin# Setup config name. 26e4763ca8SMircea Trofinconfig.name = "CtxProfile" + config.name_suffix 27e4763ca8SMircea Trofin 28e4763ca8SMircea Trofin# Setup source root. 29e4763ca8SMircea Trofinconfig.test_source_root = os.path.dirname(__file__) 30e4763ca8SMircea Trofin# Default test suffixes. 31e4763ca8SMircea Trofinconfig.suffixes = [".c", ".cpp", ".test"] 32cfe9deb1SMircea Trofin 33cfe9deb1SMircea Trofinconfig.substitutions.append( 34cfe9deb1SMircea Trofin ("%clangxx ", " ".join([config.clang] + config.cxx_mode_flags) + " -ldl -lpthread ") 35cfe9deb1SMircea Trofin) 367fc524feSVitaly Buka 377fc524feSVitaly Bukaconfig.substitutions.append( 387fc524feSVitaly Buka ( 397fc524feSVitaly Buka "%ctxprofilelib", 407fc524feSVitaly Buka "-L%s -lclang_rt.ctx_profile%s" % (config.compiler_rt_libdir, config.target_suffix) 417fc524feSVitaly Buka ) 427fc524feSVitaly Buka) 43