Lines Matching +full:merge +full:- +full:status

3 # Copyright (c) 2018-2025 Intel Corporation
5 # SPDX-License-Identifier: Apache-2.0
76 completed = done - filtered_static
79 pass rate = passed / (total - filtered_configs)
80 case pass rate = passed_cases / (cases - filtered_cases - skipped_cases)
149 length = int(log10(-n))+2
153 selected_cases = self.cases - self.filtered_cases
154 selected_configs = self.done - self.filtered_static - self.filtered_runtime
509 config_re = re.compile('(CONFIG_[A-Za-z0-9_]+)[=]\"?([^\"]*)\"?$')
510 dt_re = re.compile('([A-Za-z0-9_]+)[=]\"?([^\"]*)\"?$')
548 # CMake sends the output of message() to stderr unless it's STATUS
564 duration = time.time() - start_time
574 self.instance.status = TwisterStatus.NOTRUN
577 self.instance.status = TwisterStatus.PASS
616 self.instance.status = TwisterStatus.SKIP
620 self.instance.status = TwisterStatus.SKIP
624 self.instance.status = TwisterStatus.ERROR
639 gen_edt_args = "--edtlib-Werror"
650 f'-B{self.build_dir}',
651 f'-DTC_RUNID={self.instance.run_id}',
652 f'-DTC_NAME={self.instance.testsuite.name}',
653 f'-D{warning_command}={warnings_as_errors}',
654 f'-DEXTRA_GEN_EDT_ARGS={gen_edt_args}',
655 f'-G{self.env.generator}',
656 f'-DPython3_EXECUTABLE={pathlib.Path(sys.executable).as_posix()}'
661 '-DCMAKE_EXPORT_COMPILE_COMMANDS=ON',
662 '-DCONFIG_ASSERT=y',
663 '-DCONFIG_COVERAGE=y'
667 cmake_args.append(f'-DZEPHYR_TOOLCHAIN_VARIANT={self.instance.toolchain}')
675 f'-DMODULES={",".join(filter_stages)}',
676 f'-P{canonical_zephyr_base}/cmake/package_helper.cmake',
682 f'-S{canonical_zephyr_base}/share/sysbuild',
683 f'-DAPP_DIR={self.source_dir}'
687 f'-S{self.source_dir}'
693 cmake_opts = [f'-DBOARD={self.platform.name}']
698 '-DSNIPPET={}'.format(';'.join(self.instance.testsuite.required_snippets))
714 # CMake sends the output of message() to stderr unless it's STATUS
727 duration = time.time() - start_time
742 self.instance.status = TwisterStatus.ERROR
746 tc.status = self.instance.status
769 self.log = "config-twister.log"
834 # so --west-flash must be passed.
902 def trace(self) -> bool:
908 logger.info(f"{filename:-^100}")
925 logger.info(f"{filename:-^100}")
990 if self.instance.status in [TwisterStatus.FAIL, TwisterStatus.ERROR]:
996 self.instance.status = TwisterStatus.FILTER
1005 self.instance.status = TwisterStatus.ERROR
1006 reason = 'Incorrect status assignment'
1017 if self.instance.status in [TwisterStatus.FAIL, TwisterStatus.ERROR]:
1020 if self.instance.status == TwisterStatus.NONE:
1022 self.instance.status = TwisterStatus.NOTRUN
1029 self.instance.status = TwisterStatus.FILTER
1038 self.instance.status = TwisterStatus.ERROR
1039 reason = 'Incorrect status assignment'
1051 self.instance.status = TwisterStatus.ERROR
1057 if self.instance.status == TwisterStatus.SKIP:
1080 self.instance.status = TwisterStatus.ERROR
1087 self.instance.status = TwisterStatus.ERROR
1088 reason = 'Incorrect status assignment'
1099 self.instance.status = TwisterStatus.ERROR
1105 if self.instance.status == TwisterStatus.NOTRUN:
1118 self.instance.status = TwisterStatus.ERROR
1119 reason = 'Incorrect status assignment'
1131 logger.debug(f"run status: {self.instance.name} {self.instance.status}")
1139 "status": self.instance.status,
1144 self.instance.status = TwisterStatus.ERROR
1145 reason = 'Incorrect status assignment'
1153 # Run per-instance code coverage
1161 "status": self.instance.status,
1166 self.instance.status = TwisterStatus.ERROR
1167 reason = f"Incorrect status assignment on {op}"
1187 self.instance.status in [TwisterStatus.PASS, TwisterStatus.NOTRUN]:
1195 self.instance.status = TwisterStatus.ERROR
1196 reason = 'Incorrect status assignment'
1216 self.instance.status = TwisterStatus.ERROR
1217 reason = 'Incorrect status assignment'
1265 # This can happen if a ZTEST_SUITE name is macro-generated
1285 tc.name: {'status': tc.status, 'reason': tc.reason}
1302 testcase.status = tc_info.get('status', TwisterStatus.NONE)
1321 # below ones are needed to make --test-only work as well
1363 def _get_artifact_allow_list_for_domain(self, domain: str) -> list[str]:
1377 def _get_binaries(self) -> list[str]:
1391 # Get binaries for a single-domain build
1393 # Get binaries in the case of a multiple-domain build
1408 def _get_binaries_from_runners(self, domain='') -> list[str]:
1412 multiple-domain builds by passing in one domain at a time.
1505 increment_value = -1 if decrement else 1
1507 match tc.status:
1527 logger.warning(f'A None status detected in instance {instance.name},'
1532 logger.warning(f'A started status detected in instance {instance.name},'
1537 f'An unknown status "{tc.status}" detected in instance {instance.name},'
1544 total_to_do = results.total - results.filtered_static
1553 status = (
1554 f'{TwisterStatus.get_color(instance.status)}{str.upper(instance.status)}{Fore.RESET}'
1557 if instance.status in [TwisterStatus.ERROR, TwisterStatus.FAIL]:
1558 if instance.status == TwisterStatus.ERROR:
1563 status += " " + instance.reason
1567 f" {status}: {instance.reason}"
1571 elif instance.status == TwisterStatus.SKIP:
1573 elif instance.status == TwisterStatus.FILTER:
1575 elif instance.status == TwisterStatus.PASS:
1577 elif instance.status == TwisterStatus.NOTRUN:
1580 logger.debug(f"Unknown status = {instance.status}")
1581 status = Fore.YELLOW + "UNKNOWN" + Fore.RESET
1586 elif instance.status in [TwisterStatus.SKIP, TwisterStatus.FILTER]:
1599 if ( instance.status in [TwisterStatus.ERROR, TwisterStatus.FAIL]
1606 f"{results.done - results.filtered_static:>{total_tests_width}}/{total_to_do}"
1608 f" {status} ({more_info})"
1613 color = TwisterStatus.get_color(tc.status)
1615 f'{color}{str.upper(tc.status.value):<12}{Fore.RESET}'
1618 if instance.status in [TwisterStatus.ERROR, TwisterStatus.FAIL]:
1624 (float(results.done - results.filtered_static) / total_to_do) * 100
1627 unfiltered = results.done - results.filtered_static
1657 f"INFO - Total complete: {complete_section}"
1673 args_expanded = ["-D{}".format(a.replace('"', '\"')) for a in config_options]
1684 # merge overlay files into one variable
1697 args_expanded.extend(["-D{}".format(a.replace('"', '\"')) for a in cmake_extra_args])
1698 args_expanded.extend(["-D{}".format(a.replace('"', '')) for a in args])
1736 build_result = self.run_build(['--build', self.build_dir])
1742 self.instance.status = TwisterStatus.ERROR
1753 logger.debug(f"Reset instance status from '{instance.status}' to None before run.")
1754 instance.status = TwisterStatus.NONE
1772 instance.status = TwisterStatus.ERROR
1789 build_result = self.run_build(['--build', self.build_dir, "--target", "footprint"])
1802 if instance.status not in [TwisterStatus.ERROR, TwisterStatus.FAIL, TwisterStatus.SKIP]:
1824 def __init__(self, instances, suites, env=None) -> None:
1877 self.results.done = self.results.total - self.results.failed
1880 self.results.done -= self.results.error
1904 retries = retries - 1
1917 if instance.status == TwisterStatus.FILTER and instance.reason != 'runtime filter':
1922 elif instance.status == TwisterStatus.ERROR:
1930 f" {self.results.filtered_configs - self.results.filtered_static} at runtime)."
1953 if instance.status not in no_retry_statuses:
1955 if instance.status != TwisterStatus.NONE:
1957 instance.status = TwisterStatus.NONE
2001 pb.instance.status in [TwisterStatus.FAIL, TwisterStatus.ERROR]:
2019 pb.instance.status in [TwisterStatus.FAIL, TwisterStatus.ERROR]: