diff --git a/src/control/drpc/drpc_server.go b/src/control/drpc/drpc_server.go index 896f41638d7..8d704927948 100644 --- a/src/control/drpc/drpc_server.go +++ b/src/control/drpc/drpc_server.go @@ -1,6 +1,6 @@ // // (C) Copyright 2018-2023 Intel Corporation. -// (C) Copyright 2025 Hewlett Packard Enterprise Development LP +// (C) Copyright 2025-2026 Hewlett Packard Enterprise Development LP // // SPDX-License-Identifier: BSD-2-Clause-Patent // @@ -32,6 +32,13 @@ type DomainSocketServer struct { sessionsMutex sync.Mutex } +// GetNumSessions gets the number of current sessions in the server. +func (d *DomainSocketServer) GetNumSessions() int { + d.sessionsMutex.Lock() + defer d.sessionsMutex.Unlock() + return len(d.sessions) +} + // closeSession cleans up the session and removes it from the list of active // sessions. func (d *DomainSocketServer) closeSession(s *Session) { diff --git a/src/control/drpc/drpc_server_test.go b/src/control/drpc/drpc_server_test.go index 14a695a4844..f79b2035852 100644 --- a/src/control/drpc/drpc_server_test.go +++ b/src/control/drpc/drpc_server_test.go @@ -1,6 +1,6 @@ // // (C) Copyright 2019-2023 Intel Corporation. -// (C) Copyright 2025 Hewlett Packard Enterprise Development LP +// (C) Copyright 2025-2026 Hewlett Packard Enterprise Development LP // // SPDX-License-Identifier: BSD-2-Clause-Patent // @@ -303,14 +303,17 @@ func TestServer_Listen_AcceptConnection(t *testing.T) { lis := newMockListener() lis.setNumConnsToAccept(3) - dss, _ := NewDomainSocketServer(log, "dontcare.sock", testFileMode) + dss, err := NewDomainSocketServer(log, "dontcare.sock", testFileMode) + if err != nil { + t.Fatal(err) + } dss.listener = lis dss.Listen(test.Context(t)) // will return when error is sent test.AssertEqual(t, lis.acceptCallCount, lis.acceptNumConns+1, "should have returned after listener errored") - test.AssertEqual(t, len(dss.sessions), lis.acceptNumConns, + test.AssertEqual(t, dss.GetNumSessions(), lis.acceptNumConns, "server should have made connections into sessions") }