How to use _parse_feature_info method in lisa

Best Python code snippet using lisa_python

ethtool.py

Source:ethtool.py Github

copy

Full Screen

...117 _feature_settings_pattern = re.compile(118 r"^[\s]*(?P<name>.*):(?P<value>.*?)?$", re.MULTILINE119 )120 def __init__(self, interface: str, device_feature_raw: str) -> None:121 self._parse_feature_info(interface, device_feature_raw)122 def _parse_feature_info(self, interface: str, raw_str: str) -> None:123 matched_features_info = self._feature_info_pattern.search(raw_str)124 if not matched_features_info:125 raise LisaException(f"Cannot get {interface} features settings info")126 self.device_name = interface127 self.enabled_features = []128 for row in matched_features_info.group("value").splitlines():129 feature_info = self._feature_settings_pattern.match(row)130 if not feature_info:131 raise LisaException(132 f"Could not get feature setting for device {interface}"133 " in the defined pattern."134 )135 if "on" in feature_info.group("value"):136 self.enabled_features.append(feature_info.group("name"))...

Full Screen

Full Screen

parser.py

Source:parser.py Github

copy

Full Screen

...97 if result:98 datetime_str = result.group(0).removeprefix(left_pointer).removesuffix(right_pointer).strip()99 return datetime.strptime(datetime_str, self._compilation_settings.time_format)100 raise DatetimeParsingError("Could not parse datetime from '%s'!", line)101 def _parse_feature_info(self, header: str) -> FeatureInfo: # noqa: C901102 feature_info = FeatureInfo()103 for line in header.split("\n"):104 if line.startswith(self._compilation_settings.id_prefix):105 feature_info.id = self._get_id(line)106 continue107 if line.startswith(self._compilation_settings.tag_prefix):108 tags = self._get_tags(line)109 feature_info.type = self._get_feature_type(tags)110 tags.remove(feature_info.type)111 severity_tag = self._get_severity_tag(tags)112 if severity_tag is not None:113 tags.remove(severity_tag)114 feature_info.severity = allure.severity_level(115 severity_tag.removeprefix(self._compilation_settings.severity_keyword)116 )117 feature_info.tags = tags118 continue119 for prefix in self._feature_prefixes:120 if not line.startswith(prefix):121 continue122 feature_info.name = self._get_name(name_line=line, feature_prefix=prefix)123 if self._compilation_settings.created_by_prefix in line:124 feature_info.author = self._get_additional_info(125 line,126 left_pointer=self._compilation_settings.created_by_prefix,127 right_pointer=self._compilation_settings.blocks_delimiter,128 )129 if self._compilation_settings.last_edited_by_prefix in line:130 feature_info.last_edited_by = self._get_additional_info(131 line,132 left_pointer=self._compilation_settings.last_edited_by_prefix,133 right_pointer=self._compilation_settings.time_delimiter,134 )135 feature_info.last_edited_at = self._get_time_info(136 line,137 left_pointer=self._compilation_settings.time_delimiter,138 right_pointer=self._compilation_settings.blocks_delimiter,139 )140 if self._task_prefix is not None and self._task_prefix in line:141 feature_info.tasks = self._get_task_info(line)142 continue143 if feature_info.name is None:144 raise FeatureNameParsingError(f"Could not parse feature name from header:\n{header}")145 return feature_info146 def parse(self, feature_txt: str) -> Union[FeatureInfo, StrictFeatureInfo]:147 blocks_delimiter = "\n\n"148 indent = " "149 indent_substitute = "__"150 blocks = [151 block.lstrip(" \n") for block in feature_txt.replace(indent, indent_substitute).split(blocks_delimiter)152 ]153 header = blocks.pop(0)154 feature_info = self._parse_feature_info(header)155 feature_info.scenarios = blocks_delimiter.join(blocks).replace(indent_substitute, indent)156 if not self._parser_settings.parser_strict_mode:157 return feature_info158 if feature_info.id is None:159 raise NullableFeatureIdError("Feature has not got specified ID!")160 try:161 return StrictFeatureInfo(**feature_info.dict())162 except ValueError as err:...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run lisa automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful