Skip to content

feat: add result comparison tool - #25

Open
JakubWorek wants to merge 1 commit into
mainfrom
jakubworek/add-result-comparison-tool
Open

feat: add result comparison tool#25
JakubWorek wants to merge 1 commit into
mainfrom
jakubworek/add-result-comparison-tool

Conversation

@JakubWorek

Copy link
Copy Markdown
Contributor

Adds result comparison tool as ground for migration to new itk services.

@gemini-code-assist

Copy link
Copy Markdown

Caution

The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased.

"""
return (
not self.real_failures
and not self.infra_failures

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any infra failure will make is_clean=False -> reset the streak. Is this intended behaviour?

on OLD (we can't cross-check).
"""
report = RunReport(sdk=sdk, line=line)
for name, scenario in scenarios.items():

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we have a case when one scenario maps to multiple outcomes? Seems at least one such case when TestCase has build_subtests=True, execute_itk_test -> _get_valid_subgraphs -> sub_name = f"{label}-sub-{'-'.join(sub_sdks)}"

on OLD (we can't cross-check).
"""
report = RunReport(sdk=sdk, line=line)
for name, scenario in scenarios.items():

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The process_results.py actually loops results.items() and has a "logger.warning('No matching base scenario found for result key: %s', name)". Maybe we can also add similar logging?

Also if for some reason new and old have different number of outcomes (greater than the number of scenarios) -> we'll not flag it in any way

return streak


def cutover_gate_passes(

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unused in the script

help='ISO date (YYYY-MM-DD) to record this run under. Defaults to today (UTC).',
)
parser.add_argument(
'--required-days',

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we actually plan to run this over a real calendar period (e.g. a week)? The OLD vs NEW comparison this script introduces is a pure offline function over saved result files, couldn't we instead run it on demand across any set of SDK versions and gate cutover on "comparison is clean" rather than on N consecutive days?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants