Skip to content

Fuzzysearch enhancements #1044

@philipanda

Description

@philipanda

The problem you're addressing (if any)

  1. Telnet.Read Until Fuzzy added in fuzzysearch #988 helps a lot, but there are many more places where fuzzy string comparisons could help a lot with tests resilience to transmission errors.

  2. Most of the changes at Fuzzysearch 3mdeb/robotframework#22 are invasive and will cause problems during potential future rebases of the fork. After spending some time with them and finding out how they actually need to look like, it turns out they do not need to be implemented inside the built in libraries.

Describe the solution you'd like

  1. Keywords like:
    Collections.Get Index From List and related, keywords from the Strings library, multiple assertions
    They all could get fuzzy variants that would still work great in case of transmission errors between the host running OSFV and the DUT
    Some of them are already partially implemented (No support for specifying the precise amount of insertions/deletions, only generic error count), but are not used nowhere in OSFV. Using the keywords would require testing if nothing breaks. Fuzzy comparisons are especially prone to false positives when short sequences of characters are being searched.
    Examples:
    • 98db6c2 exit was matched to ---- because the string is so short, that 4 replacements (macthing as one error each) were enough to convert this short string into a border of a frame
    • f42fe56 here it was not possible to search for a longer string, so a workaround had to be added to not match the corner of a frame to any horizontal border, as they only differ with one character
  2. All the keywords not strictly related to Telnet.Read Until Fuzzy can be impemented outside of the robotframework fork as an external library

Where is the value to a user, and who might that user be?

Further improving the stability of OSFV when tramsmision errors occur. Just the Telnet.Read Until Fuzzy helped immensely making tests over Serial Console via an FTDI converted actually in any way viable.

Describe alternatives you've considered

No response

Additional context

#988 Is not yet merged into develop as of making this issue. These changes are not strictly required for this PR to help with tests, but the improvements could be welcome in the future.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions