tractor/tractor/_testing
Gud Boi 09c50f495d Uniquify no-runtime UDS `get_random()` paths
W/o a live runtime `get_random()` named UDS socks purely by
`(prefix, pid)`, so two calls in one proc returned the SAME
`no_runtime_*@{pid}.sock` — the 2nd `.bind()` then tripped
`EADDRINUSE`. Append a per-call `uuid4().hex[:6]` token so
each call yields a distinct sockpath.

This fixes the 3 `tests.discovery.test_tpt_bind_addrs` uds
failures (one registrar + disjoint-bind, two non-registrar
binds) where `reg_addr` and a "random" bind addr aliased —
the uds CI job's only red, surfaced when this branch rebased
onto the newer base that carries those tests.

Scoped to the no-runtime branch ON PURPOSE: the runtime
`{name}@{pid}` convention stays deterministic so
`spawn._reap.unlink_uds_bind_addrs()` can still reconstruct
+ unlink a SIGKILL'd subactor's sock (#454).

Deats,
- `_uds.py`: add `uuid4` import + token in the no-runtime
  branch
- `_testing.addr`: tighten `get_rando_addr()` docstring re the
  intra-proc per-call token (not just pid-keyed namespacing)

(this patch was generated in some part by [`claude-code`][claude-code-gh])
[claude-code-gh]: https://github.com/anthropics/claude-code
2026-06-29 18:08:50 -04:00
..
__init__.py Mk `.devx._debug` a sub-pkg `.devx.debug` 2025-07-14 00:00:12 -04:00
_reap.py Fix `add_log_level()` re-registration value drift 2026-06-24 18:03:28 -04:00
addr.py Uniquify no-runtime UDS `get_random()` paths 2026-06-29 18:08:50 -04:00
fault_simulation.py Start a new `._testing.fault_simulation` 2025-03-24 14:04:51 -04:00
pytest.py Register `has_nested_actors`/`trio` pytest marks 2026-06-25 17:32:54 -04:00
samples.py General improvements 2025-07-08 12:57:28 -04:00
trace.py Filter `_find_tractor_strays` by ppid disposition 2026-06-17 17:39:44 -04:00