3

一意のノード名を生成して配布を開始する eunit テストがあります。

{A,B,C} = now(),
Nodename = list_to_atom(lists:flatten(io_lib:format(
    "test-~b-~b-~b@localhost", [A, B, C]))),
{ok, _} = net_kernel:start([Nodename, shortnames]),

これは、分散型 Erlang ノードが以前にマシン上で実行されていて、epmd がまだ実行されている限り正常に機能しますが、ビルド サーバー上ではそうであるとは想定できません。

これをテストに追加して問題を解決しました:

_ = os:cmd("epmd -daemon"),

しかし、それはハックのように感じます。実行前に epmd が確実に開始されるようにするためのより良い方法はありnet_kernel:startますか?

4

1 に答える 1