Files
node/debug/simple_test.go
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

79 lines
1.9 KiB
Go

// Copyright (C) 2019-2025, Lux Industries Inc. All rights reserved.
// See the file LICENSE for licensing terms.
package debug
import (
"github.com/luxfi/constants"
"github.com/luxfi/ids"
validators "github.com/luxfi/validators"
"testing"
)
func TestValidatorManager(t *testing.T) {
// Test our validator manager implementation
mgr := validators.NewManager()
nodeID := ids.GenerateTestNodeID()
chainID := constants.PrimaryNetworkID
txID := ids.GenerateTestID()
weight := uint64(1000000)
// Test AddStaker
err := mgr.AddStaker(chainID, nodeID, nil, txID, weight)
if err != nil {
t.Fatalf("AddStaker failed: %v", err)
}
// Test GetValidator
vdr, exists := mgr.GetValidator(chainID, nodeID)
if !exists {
t.Fatal("Validator should exist after AddStaker")
}
if vdr.Weight != weight {
t.Fatalf("Expected weight %d, got %d", weight, vdr.Weight)
}
// Test GetWeight
w := mgr.GetWeight(chainID, nodeID)
if w != weight {
t.Fatalf("Expected weight %d, got %d", weight, w)
}
// Test TotalWeight
total, err := mgr.TotalWeight(chainID)
if err != nil {
t.Fatalf("TotalWeight failed: %v", err)
}
if total != weight {
t.Fatalf("Expected total weight %d, got %d", weight, total)
}
// Test RemoveWeight
err = mgr.RemoveWeight(chainID, nodeID, weight)
if err != nil {
t.Fatalf("RemoveWeight failed: %v", err)
}
// Verify validator is removed
_, exists = mgr.GetValidator(chainID, nodeID)
if exists {
t.Fatal("Validator should not exist after RemoveWeight")
}
t.Log("All validator manager tests passed!")
}
func TestConsensusParameters(t *testing.T) {
// Verify consensus parameters for 1/1 validator setup
sampleSize := 1
quorumSize := 1
commitThreshold := 1
if sampleSize != 1 || quorumSize != 1 || commitThreshold != 1 {
t.Fatal("Consensus parameters should be set to 1 for single validator")
}
t.Log("Consensus parameters verified: K=1, Alpha=1, Beta=1")
}