Merge pull request '[agent/codex:gpt-5.3-codex-spark] Read docs/RFC.md fully. Find ONE feature described in the sp...' (#27) from main into dev
This commit is contained in:
commit
71fcb276d8
2 changed files with 43 additions and 0 deletions
|
|
@ -95,6 +95,15 @@ func (b *Buffer) CopyFrom(src []byte) int {
|
|||
return copied
|
||||
}
|
||||
|
||||
// Close releases the buffer and implements io.Closer.
|
||||
//
|
||||
// buffer := NewBuffer(16)
|
||||
// defer buffer.Close()
|
||||
func (b *Buffer) Close() error {
|
||||
b.Free()
|
||||
return nil
|
||||
}
|
||||
|
||||
// Bytes returns the mutable byte slice backed by the buffer memory.
|
||||
//
|
||||
// buffer := NewBuffer(4)
|
||||
|
|
|
|||
|
|
@ -54,6 +54,40 @@ func TestBufferDoubleFreePanics(t *testing.T) {
|
|||
})
|
||||
}
|
||||
|
||||
func TestBufferCloseReleasesMemory(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
buffer := NewBuffer(4)
|
||||
if err := buffer.Close(); err != nil {
|
||||
t.Fatalf("expected close to return nil, got %v", err)
|
||||
}
|
||||
if !buffer.IsFreed() {
|
||||
t.Fatal("expected buffer to be freed by Close")
|
||||
}
|
||||
}
|
||||
|
||||
func TestBufferClosePanicsOnDoubleClose(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
buffer := NewBuffer(1)
|
||||
if err := buffer.Close(); err != nil {
|
||||
t.Fatalf("expected close to return nil, got %v", err)
|
||||
}
|
||||
|
||||
assertPanics(t, "double-free", func() {
|
||||
_ = buffer.Close()
|
||||
})
|
||||
}
|
||||
|
||||
func TestBufferCloseNil(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
var buffer *Buffer
|
||||
if err := buffer.Close(); err != nil {
|
||||
t.Fatalf("expected nil buffer close to return nil, got %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestBufferUseAfterFreePanics(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue