erldistpy/tests
russell@unturf.com b716f1487e
tests/test_node_otp26: portal-match TLS config + long node names + container stdout capture
Iterates on the docker-based repro infrastructure while diagnosing the
portal@unsandbox.com 'peer closed after 0/4 bytes' failure:

  - _write_ssl_config_portal_match() emits an ssl_dist.config with the
    exact options portal runs: permissive verify_fun (accepts bad_cert),
    versions [tlsv1.3, tlsv1.2], secure_renegotiate, server_name_indication
    disabled. Same shape as /opt/unsandbox/certs/inet_tls.conf.

  - Elixir docker peer now boots with --name (long FQDN, like prod)
    instead of --sname (short). Production portal is portal@unsandbox.com
    so the dist driver's routing path is different from short-name peers.

  - Elixir GenTarget now logs init + handle_call + handle_info. Fixture
    redirects container stdout to a file; test prints it on
    pass-or-fail so we can see whether the peer received our gen_call.

  - elixir image bumped to 1.16-otp-25 (portal runs OTP 25.3.2.5 / erts
    13.2.2.5, NOT OTP 26 — discovered via the portal release's bundled
    erts version).

Despite matching every dimension I can find (OTP version, TLS dist
config, Elixir GenServer wrapping, long node names), the test still
passes locally — so the production failure is something specific to
the live portal beam state, not a general protocol or version issue.
2026-06-17 09:32:17 -04:00
..
__init__.py phase 0 + 1: repo bones and ETF codec 2026-06-16 10:39:01 -04:00
test_channel.py 0.1.7: declare DFLAG_MANDATORY_25_DIGEST + decode dist-header replies 2026-06-17 08:51:09 -04:00
test_epmd.py phase 2: EPMD client 2026-06-16 11:00:00 -04:00
test_etf.py etf: add MAP_EXT (tag 116) for Erlang/Elixir maps 2026-06-16 12:16:35 -04:00
test_handshake.py phase 3: v6 distribution handshake 2026-06-16 11:08:28 -04:00
test_node.py phase 5: Node.call() gen_server protocol 2026-06-16 11:33:28 -04:00
test_node_otp26.py tests/test_node_otp26: portal-match TLS config + long node names + container stdout capture 2026-06-17 09:32:17 -04:00
test_tls.py phase 6: TLS dist via inet_tls_dist 2026-06-16 12:06:07 -04:00