def paths(self):
module_name = getattr(self, '<STR_LIT>', '<STR_LIT>')<EOL>module_prefix = getattr(self, '<STR_LIT>', '<STR_LIT>')<EOL>filepath = getattr(self, '<STR_LIT>', '<STR_LIT>')<EOL>if filepath:<EOL><INDENT>if os.path.isabs(filepath):<EOL><INDENT>yield filepath<EOL><DEDENT>else:<EOL><INDENT>yield os.path.join(self.basedir, filepath)<EOL><DEDENT><DEDENT>else:<EOL><INDENT>if module_prefix:<EOL><INDENT>basedirs = self._find_prefix_paths(self.basedir, module_prefix)<EOL><DEDENT>else:<EOL><INDENT>basedirs = [self.basedir]<EOL><DEDENT>for basedir in basedirs:<EOL><INDENT>try:<EOL><INDENT>if module_name:<EOL><INDENT>path = self._find_module_path(basedir, module_name)<EOL><DEDENT>else:<EOL><INDENT>path = basedir<EOL><DEDENT>if os.path.isfile(path):<EOL><INDENT>logger.debug('<STR_LIT>'.format(path))<EOL>yield path<EOL><DEDENT>else:<EOL><INDENT>seen_paths = set()<EOL>for root, dirs, files in self.walk(path):<EOL><INDENT>for basename in files:<EOL><INDENT>if basename.startswith("<STR_LIT>"):<EOL><INDENT>if self._is_module_path(root):<EOL><INDENT>filepath = os.path.join(root, basename)<EOL>if filepath not in seen_paths:<EOL><INDENT>logger.debug('<STR_LIT>'.format(filepath))<EOL>seen_paths.add(filepath)<EOL>yield filepath<EOL><DEDENT><DEDENT><DEDENT>else:<EOL><INDENT>fileroot = os.path.splitext(basename)[<NUM_LIT:0>]<EOL>for pf in self.module_postfixes:<EOL><INDENT>if fileroot.endswith(pf):<EOL><INDENT>filepath = os.path.join(root, basename)<EOL>if filepath not in seen_paths:<EOL><INDENT>logger.debug('<STR_LIT>'.format(filepath))<EOL>seen_paths.add(filepath)<EOL>yield filepath<EOL><DEDENT><DEDENT><DEDENT>for pf in self.module_prefixes:<EOL><INDENT>if fileroot.startswith(pf):<EOL><INDENT>filepath = os.path.join(root, basename)<EOL>if filepath not in seen_paths:<EOL><INDENT>logger.debug('<STR_LIT>'.format(filepath))<EOL>seen_paths.add(filepath)<EOL>yield filepath<EOL><DEDENT><DEDENT><DEDENT><DEDENT><DEDENT><DEDENT><DEDENT><DEDENT>except IOError as e:<EOL><INDENT>logger.warning(e, exc_info=True)<EOL>pass<EOL><DEDENT><DEDENT><DEDENT>
given a basedir, yield all test modules paths recursively found in
basedir that are test modules

return -- generator