Home / Function/ TestData_PoolReuseDoesNotLeakEntries() — fiber Function Reference

TestData_PoolReuseDoesNotLeakEntries() — fiber Function Reference

Architecture documentation for the TestData_PoolReuseDoesNotLeakEntries() function in data_test.go from the fiber codebase.

Entity Profile

Dependency Diagram

graph TD
  cdd3a4ef_411c_799e_d581_d0f5886142e4["TestData_PoolReuseDoesNotLeakEntries()"]
  31960edf_7060_281a_0b6d_40d015c11902["data_test.go"]
  cdd3a4ef_411c_799e_d581_d0f5886142e4 -->|defined in| 31960edf_7060_281a_0b6d_40d015c11902
  0c84548f_415c_aee4_0a3e_2e9a93e8e08a["lockedMapPointer()"]
  cdd3a4ef_411c_799e_d581_d0f5886142e4 -->|calls| 0c84548f_415c_aee4_0a3e_2e9a93e8e08a
  8ad2f861_e554_a9ce_02fd_d2d440536475["requireDataEmpty()"]
  cdd3a4ef_411c_799e_d581_d0f5886142e4 -->|calls| 8ad2f861_e554_a9ce_02fd_d2d440536475
  style cdd3a4ef_411c_799e_d581_d0f5886142e4 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

middleware/session/data_test.go lines 234–281

func TestData_PoolReuseDoesNotLeakEntries(t *testing.T) {
	t.Parallel()

	acquired := make([]*data, 0, 6)
	t.Cleanup(func() {
		for _, item := range acquired {
			item.Reset()
			dataPool.Put(item)
		}
	})

	acquireWithCleanup := func() *data {
		d := acquireData()
		acquired = append(acquired, d)
		return d
	}

	first := acquireWithCleanup()
	first.Set("key1", "value1")
	first.Set("key2", "value2")
	first.Reset()

	originalPtr := lockedMapPointer(first)
	dataPool.Put(first)

	var reused *data
	for i := 0; i < 5; i++ {
		candidate := acquireWithCleanup()
		if lockedMapPointer(candidate) == originalPtr {
			reused = candidate
			break
		}
		requireDataEmpty(t, candidate, "Expected pooled data to be empty when new instance is returned")
		require.Nil(t, candidate.Get("key2"), "Expected no leakage of prior entries on alternate pooled instance")
	}

	if reused == nil {
		t.Skip("sync.Pool returned a different instance; reuse cannot be asserted")
		return
	}

	require.Equal(t, originalPtr, lockedMapPointer(reused), "Expected pooled data to reuse cleared map")
	requireDataEmpty(t, reused, "Expected pooled data to be empty after reuse")
	require.Nil(t, reused.Get("key2"), "Expected no leakage of prior entries on reuse")

	reused.Set("key4", "value4")
	require.Equal(t, "value4", reused.Get("key4"), "Expected pooled map to accept new values")
}

Subdomains

Frequently Asked Questions

What does TestData_PoolReuseDoesNotLeakEntries() do?
TestData_PoolReuseDoesNotLeakEntries() is a function in the fiber codebase, defined in middleware/session/data_test.go.
Where is TestData_PoolReuseDoesNotLeakEntries() defined?
TestData_PoolReuseDoesNotLeakEntries() is defined in middleware/session/data_test.go at line 234.
What does TestData_PoolReuseDoesNotLeakEntries() call?
TestData_PoolReuseDoesNotLeakEntries() calls 2 function(s): lockedMapPointer, requireDataEmpty.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free