def python_resolver(name, reference, find_tests): module_path, tests_filter = reference_split(reference) if tests_filter is not None: tests_filter = re.compile(tests_filter) criteria_check = check_file(module_path, reference) if criteria_check is not True: return criteria_check # disabled tests not needed here class_methods_info, _ = find_tests(module_path) runnables = [] for klass, methods_tags_depens in class_methods_info.items(): for (method, tags, depens) in methods_tags_depens: klass_method = f"{klass}.{method}" if tests_filter is not None and not tests_filter.search( klass_method): continue uri = f"{module_path}:{klass_method}" runnables.append( Runnable(name, uri=uri, tags=tags, dependencies=depens)) if runnables: return ReferenceResolution(reference, ReferenceResolutionResult.SUCCESS, runnables) return ReferenceResolution(reference, ReferenceResolutionResult.NOTFOUND)
def resolve(reference): # It may be possible to have Robot Framework tests in other # types of files such as reStructuredText (.rst), but given # that we're not testing that, let's restrict to files ending # in .robot files criteria_check = check_file(reference, reference, suffix='.robot') if criteria_check is not True: return criteria_check robot_suite = find_tests(reference, test_suite={}) runnables = [] for item in robot_suite: for robot_test in robot_suite[item]: uri = "%s:%s.%s" % (robot_test['test_source'], item, robot_test['test_name']) runnables.append(Runnable('robot', uri=uri)) if runnables: return ReferenceResolution(reference, ReferenceResolutionResult.SUCCESS, runnables) return ReferenceResolution(reference, ReferenceResolutionResult.NOTFOUND)
def python_resolver(name, reference, find_tests): module_path, tests_filter = reference_split(reference) if tests_filter is not None: tests_filter = re.compile(tests_filter) criteria_check = check_file(module_path, reference) if criteria_check is not True: return criteria_check # disabled tests not needed here class_methods_info, _ = find_tests(module_path) runnables = [] for klass, methods_tags_reqs in class_methods_info.items(): for (method, tags, reqs) in methods_tags_reqs: klass_method = "%s.%s" % (klass, method) if tests_filter is not None and not tests_filter.search( klass_method): continue uri = "%s:%s" % (module_path, klass_method) runnables.append( Runnable(name, uri=uri, tags=tags, requirements=reqs, config=settings.as_dict(r'^runner\.'))) if runnables: return ReferenceResolution(reference, ReferenceResolutionResult.SUCCESS, runnables) return ReferenceResolution(reference, ReferenceResolutionResult.NOTFOUND)
def resolve(reference): if ':' in reference: module_path, _ = reference.split(':', 1) else: module_path = reference criteria_check = check_file(module_path, reference) if criteria_check is not True: return criteria_check # disabled tests not needed here class_methods_info, _ = find_avocado_tests(module_path) runnables = [] for klass, methods_tags in class_methods_info.items(): for (method, tags) in methods_tags: uri = "%s:%s.%s" % (module_path, klass, method) runnables.append( Runnable('avocado-instrumented', uri=uri, tags=tags)) if runnables: return ReferenceResolution(reference, ReferenceResolutionResult.SUCCESS, runnables) return ReferenceResolution(reference, ReferenceResolutionResult.NOTFOUND)
def resolve(reference): criteria_check = check_file(reference, reference) if criteria_check is not True: return criteria_check class_methods = find_python_unittests(reference) if class_methods: runnables = [] mod = os.path.relpath(reference) if mod.endswith('.py'): mod = mod[:-3] mod = mod.replace(os.path.sep, ".") for klass, meths in class_methods.items(): for (meth, tags) in meths: uri = '%s.%s.%s' % (mod, klass, meth) runnables.append( Runnable('python-unittest', uri=uri, tags=tags)) if runnables: return ReferenceResolution(reference, ReferenceResolutionResult.SUCCESS, runnables) return ReferenceResolution(reference, ReferenceResolutionResult.NOTFOUND)
def resolve(reference): module_path, tests_filter = reference_split(reference) if tests_filter is not None: tests_filter = re.compile(tests_filter) criteria_check = check_file(module_path, reference) if criteria_check is not True: return criteria_check # disabled tests not needed here class_methods_info, _ = find_avocado_tests(module_path) runnables = [] for klass, methods_tags_reqs in class_methods_info.items(): for (method, tags, reqs) in methods_tags_reqs: klass_method = "%s.%s" % (klass, method) if tests_filter is not None: if not tests_filter.search(klass_method): continue uri = "%s:%s" % (module_path, klass_method) runnables.append( Runnable('avocado-instrumented', uri=uri, tags=tags, requirements=reqs)) if runnables: return ReferenceResolution(reference, ReferenceResolutionResult.SUCCESS, runnables) return ReferenceResolution(reference, ReferenceResolutionResult.NOTFOUND)
def resolve(reference): # pylint: disable=W0221 # It may be possible to have Robot Framework tests in other # types of files such as reStructuredText (.rst), but given # that we're not testing that, let's restrict to files ending # in .robot files criteria_check = check_file(reference, reference, suffix=".robot") if criteria_check is not True: return criteria_check robot_suite = find_tests(reference, test_suite={}) runnables = [] for key, value in robot_suite.items(): for robot_test in value: uri = f"{robot_test['test_source']}:" f"{key}.{robot_test['test_name']}" runnables.append(Runnable("robot", uri=uri)) if runnables: return ReferenceResolution(reference, ReferenceResolutionResult.SUCCESS, runnables) return ReferenceResolution(reference, ReferenceResolutionResult.NOTFOUND)
def resolve(reference): criteria_check = check_file(reference, reference, suffix=None, type_name='executable file', access_check=os.R_OK | os.X_OK, access_name='executable') if criteria_check is not True: return criteria_check return ReferenceResolution(reference, ReferenceResolutionResult.SUCCESS, [Runnable('exec-test', reference)])
def resolve(self, reference): criteria_check = check_file(reference, reference, suffix=None, type_name='executable file', access_check=os.R_OK | os.X_OK, access_name='executable') if criteria_check is not True: return criteria_check runnable = Runnable('tap', reference, cofig=self.config) return ReferenceResolution(reference, ReferenceResolutionResult.SUCCESS, [runnable])
def resolve(reference): criteria_check = check_file(reference, reference, suffix=None, type_name='executable file', access_check=os.R_OK | os.X_OK, access_name='executable') if criteria_check is not True: return criteria_check return ReferenceResolution( reference, ReferenceResolutionResult.SUCCESS, [ Runnable( 'tap', reference, config=settings.as_dict(r'^runner\.')) ])
def resolve(self, reference): criteria_check = check_file( reference, reference, suffix=None, type_name="executable file", access_check=os.R_OK | os.X_OK, access_name="executable", ) if criteria_check is not True: return criteria_check runnable = Runnable("exec-test", reference) return ReferenceResolution(reference, ReferenceResolutionResult.SUCCESS, [runnable])