Lines Matching +full:root +full:- +full:relative
4 CmpRuns - A simple tool for comparing two static analyzer runs to determine
58 # Diff in a form: field -> (before, after)
77 RELATIVE = "relative" variable in HistogramType
78 LOG_RELATIVE = "log-relative"
84 root: str = "" variable in ResultsDirectory
90 path - the analysis output directory
91 root - the name of the root directory, which will be disregarded when
97 self.root = results.root.rstrip("/\\")
111 def get_file_name(self) -> str:
112 root = self._report.run.root
115 if file_name.startswith(root) and len(root) > 0:
116 return file_name[len(root) + 1 :]
120 def get_root_file_name(self) -> str:
133 root = self._report.run.root
135 if out.startswith(root):
136 return out[len(root) :]
140 def get_line(self) -> int:
143 def get_column(self) -> int:
146 def get_path_length(self) -> int:
149 def get_category(self) -> str:
152 def get_description(self) -> str:
155 def get_location(self) -> str:
158 def get_issue_identifier(self) -> str:
169 def get_html_report(self) -> str:
175 def get_readable_name(self) -> str:
198 def is_similar_to(self, other: "AnalysisDiagnostic") -> bool:
203 def get_diffs(self, other: "AnalysisDiagnostic") -> JSONDiff:
212 def get_raw_data(self) -> Plist:
215 def __eq__(self, other: object) -> bool:
218 def __ne__(self, other: object) -> bool:
221 def __hash__(self) -> int:
228 self.root = info.root
236 def get_clang_version(self) -> Optional[str]:
300 ) -> AnalysisRun:
311 ) -> AnalysisRun:
314 # - info is the SingleRunInfo object
315 # - delete_empty specifies if the empty plist files should be deleted
367 ) -> GroupedDiagnostics:
378 ) -> ComparisonResult:
380 compare_results - Generate a relation from diagnostics in run A to
389 # Map size_before -> size_after
415 if histogram == HistogramType.RELATIVE:
424 path_difference_data.append(a_path_len - b_path_len)
453 only_old_locations = locations_old - common_locations
460 only_new_locations = locations_new - common_locations
484 ) -> List[AnalysisDiagnostic]:
488 def compute_percentile(values: Sequence[T], percentile: float) -> T:
492 return sorted(values)[int(round(percentile * len(values) + 0.5)) - 1]
495 def derive_stats(results: AnalysisRun) -> Stats:
545 report = f"{val_old:.3f} -> {val_new:.3f}"
550 ratio = (val_new - val_old) / val_new
551 if ratio < -0.2:
558 removed_keys = old_keys - new_keys
562 added_keys = new_keys - old_keys
633 f" '{key}' changed: " f"'{old_value}' -> '{new_value}'"