# Eunit: {node, ... instantiator broken in OTP-28.x

**URL:** <https://erlangforums.com/t/eunit-node-instantiator-broken-in-otp-28-x/5465>\
**Category:** Questions / Help\
**Tags:** eunit\
**Created:** [February 28, 2026, 3:25pm UTC](https://erlangforums.com/t/eunit-node-instantiator-broken-in-otp-28-x/5465 "2026-02-28T15:25:56Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![rlipscombe](https://erlangforums.com/user_avatar/erlangforums.com/rlipscombe/32/459_2.png) [@rlipscombe](https://erlangforums.com/u/rlipscombe)\
**Post date:** [February 28, 2026, 3:25pm UTC](https://erlangforums.com/t/eunit-node-instantiator-broken-in-otp-28-x/5465/1 "2026-02-28T15:25:56Z")

</div>

Looking at [eunit/examples/eunit\_examples.erl at master · richcarl/eunit · GitHub](https://github.com/richcarl/eunit/blob/master/examples/eunit_examples.erl#L332) , it seems like eunit’s `{node, Node, …}` generator was expected to pass the full node name to the instantiator.

In OTP-27.x, this was true.

In OTP-28.x – when the new `peer` module was used, this was changed – the function now receives `{Pid, WasNetStarted}`. It’s not clear whether this change was intentional, or what the `Pid` refers to.

So: how does one receive the fully-qualified name of the new node, in order to use it in the tests?

---

<div class="post-metadata">

**Author:** ![williamthome](https://erlangforums.com/user_avatar/erlangforums.com/williamthome/32/471_2.png) [@williamthome](https://erlangforums.com/u/williamthome)\
**Post date:** [March 1, 2026, 3:21pm UTC](https://erlangforums.com/t/eunit-node-instantiator-broken-in-otp-28-x/5465/2 "2026-03-01T15:21:32Z")

</div>

Please verify if this PR resolves the issue:

> <https://github.com/erlang/otp/pull/10788>
>
> The migration from slave to peer in OTP-28 discarded the node name returned by p…eer:start\_link/1, passing the Pid to the instantiator instead of the node name. This made {node, ...} unusable since the instantiator needs the node name to use with {spawn, Node, Tests} or erpc:call/4.
> 
> Capture the node name and wrap the instantiator so it receives the node name as an atom. Restore auto-start of net\_kernel for non-distributed nodes so {node, ...} works out of the box.
