Files
zeekay 7cf87b230b node-unified is the node
The module already called itself github.com/luxfi/node while containing no node
in Go: cmd/luxd was twenty-one lines that printed the size of a few types, and
the Go column of the matrix measured a VM plugin. A repo that fetches the thing
it claims to be has not replaced it, so the Go sources move in — 1515 files,
the daemon and everything under it — and the build reaches outside this module
for nothing.

Rust and C++ sit beside it unchanged and are still measured against it by the
differential. That is the point of one repo: the reference implementation and
the two ports are the same checkout, so parity is a thing you can run rather
than a thing you assert.

Verified: builds, and the closure carries no lux-private — checked at build time
rather than believed. The daemon starts twelve chains on a local network
(P X C Q Z A B G K M F, plus D through its plugin) and reports healthy.
2026-09-07 16:15:25 -07:00

82 lines
1.9 KiB
Go

// Copyright (C) 2019-2025, Lux Industries Inc. All rights reserved.
// See the file LICENSE for licensing terms.
package beacon
import (
"net/netip"
"testing"
"github.com/stretchr/testify/require"
"github.com/luxfi/ids"
)
func TestSet(t *testing.T) {
require := require.New(t)
id0 := ids.BuildTestNodeID([]byte{0})
id1 := ids.BuildTestNodeID([]byte{1})
id2 := ids.BuildTestNodeID([]byte{2})
ip0 := netip.AddrPortFrom(
netip.IPv4Unspecified(),
0,
)
ip1 := netip.AddrPortFrom(
netip.IPv4Unspecified(),
1,
)
ip2 := netip.AddrPortFrom(
netip.IPv4Unspecified(),
2,
)
b0 := New(id0, ip0)
b1 := New(id1, ip1)
b2 := New(id2, ip2)
s := NewSet()
require.Empty(s.IDsArg())
require.Empty(s.IPsArg())
require.Zero(s.Len())
require.NoError(s.Add(b0))
require.Equal("NodeID-111111111111111111116DBWJs", s.IDsArg())
require.Equal("0.0.0.0:0", s.IPsArg())
require.Equal(1, s.Len())
err := s.Add(b0)
require.ErrorIs(err, errDuplicateID)
require.Equal("NodeID-111111111111111111116DBWJs", s.IDsArg())
require.Equal("0.0.0.0:0", s.IPsArg())
require.Equal(1, s.Len())
require.NoError(s.Add(b1))
require.Equal("NodeID-111111111111111111116DBWJs,NodeID-6HgC8KRBEhXYbF4riJyJFLSHt37UNuRt", s.IDsArg())
require.Equal("0.0.0.0:0,0.0.0.0:1", s.IPsArg())
require.Equal(2, s.Len())
require.NoError(s.Add(b2))
require.Equal("NodeID-111111111111111111116DBWJs,NodeID-6HgC8KRBEhXYbF4riJyJFLSHt37UNuRt,NodeID-BaMPFdqMUQ46BV8iRcwbVfsam55kMqcp", s.IDsArg())
require.Equal("0.0.0.0:0,0.0.0.0:1,0.0.0.0:2", s.IPsArg())
require.Equal(3, s.Len())
require.NoError(s.RemoveByID(b0.ID()))
require.Equal("NodeID-BaMPFdqMUQ46BV8iRcwbVfsam55kMqcp,NodeID-6HgC8KRBEhXYbF4riJyJFLSHt37UNuRt", s.IDsArg())
require.Equal("0.0.0.0:2,0.0.0.0:1", s.IPsArg())
require.Equal(2, s.Len())
require.NoError(s.RemoveByIP(b1.IP()))
require.Equal("NodeID-BaMPFdqMUQ46BV8iRcwbVfsam55kMqcp", s.IDsArg())
require.Equal("0.0.0.0:2", s.IPsArg())
require.Equal(1, s.Len())
}