[Pather] handle empty or duplicate port lists
This commit is contained in:
parent
fe4e2f760b
commit
306f0b4c83
1 changed files with 10 additions and 0 deletions
|
|
@ -159,6 +159,16 @@ class Pather(PortList):
|
|||
|
||||
def _route_contexts(self, portspecs: Sequence[str]) -> tuple[RoutePortContext, ...]:
|
||||
"""Snapshot several ports in request order for bundle planning."""
|
||||
if not portspecs:
|
||||
raise BuildError('Routing requires at least one port')
|
||||
seen: set[str] = set()
|
||||
duplicates: set[str] = set()
|
||||
for portspec in portspecs:
|
||||
if portspec in seen:
|
||||
duplicates.add(portspec)
|
||||
seen.add(portspec)
|
||||
if duplicates:
|
||||
raise BuildError(f'Routing port names must be unique; got duplicates: {sorted(duplicates)}')
|
||||
return tuple(self._route_context(portspec) for portspec in portspecs)
|
||||
|
||||
@property
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue