-
Notifications
You must be signed in to change notification settings - Fork 718
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bugfix]Adding conditions to longer matching entries in conditional marks #14912
[Bugfix]Adding conditions to longer matching entries in conditional marks #14912
Conversation
Hi, @ZhaohuiS, we have new logic in conditional mark in #14395 which will cherry pick into 202405 soon. Yes, this is the solution |
@yutongzhang-microsoft PR conflicts with 202311 branch |
@yutongzhang-microsoft PR conflicts with 202405 branch |
@yutongzhang-microsoft PR conflicts with 202305 branch |
@yutongzhang-microsoft PR conflicts with 202205 branch |
@yutongzhang-microsoft PR conflicts with 202012 branch |
@yutongzhang-microsoft PR conflicts with 202405 branch |
In PR #14912, we added conditions to longer matching entries in conditional marks. We got some mistakes while adding conditions into some longer entries. In this PR, we fix these mistakes.
Description of PR
As part of #11968, a bugfix was introduced in the
find_longest_matches
function to identify only the longest matching entry intests_mark_conditions.yaml
.The previous bug led to incorrect behavior in finding the matching entries, deviating from our intended logic before:
This resulted in an unintended situation where conditions from shorter matching entries which are absent in the longest one would still be considered during evaluation.
In PR #14395, we optimized the logic for finding marks in conditional marking. Now, although we will retrieve all entries matching the test case prefix but only the longest matching entry is evaluated if the mark is identical across all matching entries, which aligns with our original expectations. Additionally, conditions that exist only in shorter matching entries with the same mark are now ignored. To maintain consistency with previous behavior(although unexpected), we have added these conditions to the longer matching entry.
Summary:
Fixes # (issue)
Type of change
Back port request
Approach
What is the motivation for this PR?
As part of #11968, a bugfix was introduced in the
find_longest_matches
function to identify only the longest matching entry intests_mark_conditions.yaml
.The previous bug led to incorrect behavior in finding the matching entries, deviating from our intended logic before:
This resulted in an unintended situation where conditions from shorter matching entries which are absent in the longest one would still be considered during evaluation.
In PR #14395, we optimized the logic for finding marks in conditional marking. Now, although we will retrieve all entries matching the test case prefix but only the longest matching entry is evaluated if the mark is identical across all matching entries, which aligns with our original expectations. Additionally, conditions that exist only in shorter matching entries with the same mark are now ignored. To maintain consistency with previous behavior(although unexpected), we have added these conditions to the longer matching entry.
How did you do it?
To maintain consistency with previous behavior(although unexpected), we have added these conditions to the longer matching entry.
How did you verify/test it?
Any platform specific information?
Supported testbed topology if it's a new test case?
Documentation