remote/common: allow ordering of ResourceMatches with/without name #1742
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
It is possible to create matches as:
$ export LG_PLACE=myplace $ labgrid-client create $ labgrid-client add-match myexporter/mygroup/mycls $ labgrid-client add-named-match myexporter/mygroup/mycls/myname myrename
In this scenario,
labgrid-client show
throws an exception:The problem arises due to
ResourceMatch
objects being turned into tuples by attrs for ordering, such as:First, all elements with index 0 are compared, if these elements are equal, elements with index 1 are compared and so forth until an order can be determined. Normally, the comparison does not reach the "name" element of the match.
In the example above, the first three elements are equal, so
None
and"myname"
are compared, which is unsupported and results in theTypeError
.Fix that by removing the
ResourceMatch
's optional "name" attribute from ordering operations.Checklist
Fixes #1736