def fn(self): skip_for_os = _match_decorator_property(lldbplatform.translate(oslist), self.getPlatform()) skip_for_hostos = _match_decorator_property( lldbplatform.translate(hostoslist), lldbplatformutil.getHostPlatform()) skip_for_compiler = _match_decorator_property( compiler, self.getCompiler()) and self.expectedCompilerVersion( compiler_version) skip_for_arch = _match_decorator_property(archs, self.getArchitecture()) skip_for_debug_info = _match_decorator_property( debug_info, self.debug_info) skip_for_triple = _match_decorator_property( triple, lldb.DBG.GetSelectedPlatform().GetTriple()) skip_for_remote = _match_decorator_property( remote, lldb.remote_platform is not None) skip_for_swig_version = (swig_version is None) or (not hasattr( lldb, 'swig_version')) or (_check_expected_version( swig_version[0], swig_version[1], lldb.swig_version)) skip_for_py_version = (py_version is None) or _check_expected_version( py_version[0], py_version[1], sys.version_info) # For the test to be skipped, all specified (e.g. not None) parameters must be True. # An unspecified parameter means "any", so those are marked skip by default. And we skip # the final test if all conditions are True. conditions = [(oslist, skip_for_os, "target o/s"), (hostoslist, skip_for_hostos, "host o/s"), (compiler, skip_for_compiler, "compiler or version"), (archs, skip_for_arch, "architecture"), (debug_info, skip_for_debug_info, "debug info format"), (triple, skip_for_triple, "target triple"), (swig_version, skip_for_swig_version, "swig version"), (py_version, skip_for_py_version, "python version"), (remote, skip_for_remote, "platform locality (remote/local)")] reasons = [] final_skip_result = True for this_condition in conditions: final_skip_result = final_skip_result and this_condition[1] if this_condition[0] is not None and this_condition[1]: reasons.append(this_condition[2]) reason_str = None if final_skip_result: mode_str = { DecorateMode.Skip: "skipping", DecorateMode.Xfail: "xfailing" }[mode] if len(reasons) > 0: reason_str = ",".join(reasons) reason_str = "{} due to the following parameter(s): {}".format( mode_str, reason_str) else: reason_str = "{} unconditionally" if bugnumber is not None and not six.callable(bugnumber): reason_str = reason_str + " [" + str(bugnumber) + "]" return reason_str
def fn(self): skip_for_os = _match_decorator_property(lldbplatform.translate(oslist), self.getPlatform()) skip_for_hostos = _match_decorator_property(lldbplatform.translate(hostoslist), lldbplatformutil.getHostPlatform()) skip_for_compiler = _match_decorator_property(compiler, self.getCompiler()) and self.expectedCompilerVersion(compiler_version) skip_for_arch = _match_decorator_property(archs, self.getArchitecture()) skip_for_debug_info = _match_decorator_property(debug_info, self.debug_info) skip_for_triple = _match_decorator_property(triple, lldb.DBG.GetSelectedPlatform().GetTriple()) skip_for_remote = _match_decorator_property(remote, lldb.remote_platform is not None) skip_for_swig_version = (swig_version is None) or (not hasattr(lldb, 'swig_version')) or (_check_expected_version(swig_version[0], swig_version[1], lldb.swig_version)) skip_for_py_version = (py_version is None) or _check_expected_version(py_version[0], py_version[1], sys.version_info) # For the test to be skipped, all specified (e.g. not None) parameters must be True. # An unspecified parameter means "any", so those are marked skip by default. And we skip # the final test if all conditions are True. conditions = [(oslist, skip_for_os, "target o/s"), (hostoslist, skip_for_hostos, "host o/s"), (compiler, skip_for_compiler, "compiler or version"), (archs, skip_for_arch, "architecture"), (debug_info, skip_for_debug_info, "debug info format"), (triple, skip_for_triple, "target triple"), (swig_version, skip_for_swig_version, "swig version"), (py_version, skip_for_py_version, "python version"), (remote, skip_for_remote, "platform locality (remote/local)")] reasons = [] final_skip_result = True for this_condition in conditions: final_skip_result = final_skip_result and this_condition[1] if this_condition[0] is not None and this_condition[1]: reasons.append(this_condition[2]) reason_str = None if final_skip_result: mode_str = {DecorateMode.Skip : "skipping", DecorateMode.Xfail : "xfailing"}[mode] if len(reasons) > 0: reason_str = ",".join(reasons) reason_str = "{} due to the following parameter(s): {}".format(mode_str, reason_str) else: reason_str = "{} unconditionally" if bugnumber is not None and not six.callable(bugnumber): reason_str = reason_str + " [" + str(bugnumber) + "]" return reason_str
def findMainThreadCheckerDylib(): if not platformIsDarwin(): return "" if getPlatform() in lldbplatform.translate(lldbplatform.darwin_embedded): return "/Developer/usr/lib/libMainThreadChecker.dylib" with os.popen('xcode-select -p') as output: xcode_developer_path = output.read().strip() mtc_dylib_path = '%s/usr/lib/libMainThreadChecker.dylib' % xcode_developer_path if os.path.isfile(mtc_dylib_path): return mtc_dylib_path return ""
def skipIfDarwin(func): """Decorate the item to skip tests that should be skipped on Darwin.""" return skipIfPlatform(lldbplatform.translate( lldbplatform.darwin_all))(func)
def skipIfDarwinEmbedded(func): """Decorate the item to skip tests that should be skipped on Darwin armv7/arm64 targets.""" return skipIfPlatform(lldbplatform.translate( lldbplatform.darwin_embedded))(func)
def skipIfDarwinSimulator(func): """Decorate the item to skip tests that should be skipped on Darwin simulator targets.""" return skipIfPlatform(lldbplatform.translate( lldbplatform.darwin_simulator))(func)
def skipIfbridgeOS(func): return skipIfPlatform(lldbplatform.translate(lldbplatform.bridgeos))(func)
def skipIfwatchOS(func): return skipIfPlatform(lldbplatform.translate(lldbplatform.watchos))(func)
def skipIftvOS(func): return skipIfPlatform(lldbplatform.translate(lldbplatform.tvos))(func)
def skipIfDarwin(func): """Decorate the item to skip tests that should be skipped on Darwin.""" return skipIfPlatform(lldbplatform.translate(lldbplatform.darwin_all))(func)
def getDarwinOSTriples(): return lldbplatform.translate(lldbplatform.darwin_all)
def skipIfDarwinEmbedded(func): """Decorate the item to skip tests that should be skipped on Darwin armv7/arm64 targets.""" return skipIfPlatform( lldbplatform.translate( lldbplatform.darwin_embedded))(func)