(t *testing.T)
| 294 | } |
| 295 | |
| 296 | func TestHeadTailBuffer_RingBufferWraparound(t *testing.T) { |
| 297 | t.Parallel() |
| 298 | |
| 299 | // Use a tail of 10 bytes and write enough to wrap |
| 300 | // around multiple times. |
| 301 | buf := agentproc.NewHeadTailBufferSized(5, 10) |
| 302 | |
| 303 | // Fill head (5 bytes). |
| 304 | _, err := buf.Write([]byte("HEADD")) |
| 305 | require.NoError(t, err) |
| 306 | |
| 307 | // Write 25 bytes into tail, wrapping 2.5 times. |
| 308 | _, err = buf.Write([]byte("0123456789")) |
| 309 | require.NoError(t, err) |
| 310 | _, err = buf.Write([]byte("abcdefghij")) |
| 311 | require.NoError(t, err) |
| 312 | _, err = buf.Write([]byte("ABCDE")) |
| 313 | require.NoError(t, err) |
| 314 | |
| 315 | out, info := buf.Output() |
| 316 | require.NotNil(t, info) |
| 317 | // Tail should contain the last 10 bytes: "fghijABCDE". |
| 318 | require.True(t, strings.HasSuffix(out, "fghijABCDE"), |
| 319 | "expected tail to be last 10 bytes, got: %q", out) |
| 320 | } |
| 321 | |
| 322 | func TestHeadTailBuffer_MultipleLinesTruncated(t *testing.T) { |
| 323 | t.Parallel() |
nothing calls this directly
no test coverage detected