Skip to content

Commit 94c143b

Browse files
committed
Use os.TempDir so dbr utilized TMPDIR
1 parent 0723d16 commit 94c143b

File tree

2 files changed

+37
-1
lines changed

2 files changed

+37
-1
lines changed

disk_buffer_reader.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ type DiskBufferReader struct {
2323

2424
// New takes an io.Reader and creates returns an initialized DiskBufferReader.
2525
func New(r io.Reader) (*DiskBufferReader, error) {
26-
tmpFile, err := ioutil.TempFile("", "disk-buffer-file")
26+
tmpFile, err := ioutil.TempFile(os.TempDir(), "disk-buffer-file")
2727
if err != nil {
2828
return nil, err
2929
}

disk_buffer_reader_test.go

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,12 @@ package diskbufferreader
33
import (
44
"bytes"
55
"errors"
6+
"fmt"
67
"io"
78
"net/http"
9+
"os"
10+
"path/filepath"
11+
"strings"
812
"testing"
913
)
1014

@@ -181,6 +185,38 @@ func TestReadAllLarge(t *testing.T) {
181185
}
182186
}
183187

188+
func TestTmpDir(t *testing.T) {
189+
tmpDir := "/tmp/dbrtest"
190+
191+
err := os.Mkdir(tmpDir, 0755)
192+
if !os.IsExist(err) {
193+
t.Fatal(err)
194+
}
195+
defer os.RemoveAll(tmpDir)
196+
197+
os.Setenv("TMPDIR", tmpDir)
198+
199+
reader := strings.NewReader("TestString")
200+
dbr, err := New(reader)
201+
if err != nil {
202+
t.Fatal(err)
203+
}
204+
205+
defer dbr.Close()
206+
207+
testBytes := make([]byte, 1)
208+
_, err = dbr.Read(testBytes)
209+
if err != nil {
210+
t.Fatal(err)
211+
}
212+
213+
tmpFileName := filepath.Base(dbr.tmpFile.Name())
214+
_, err = os.Stat(fmt.Sprintf("%s/%s", tmpDir, tmpFileName))
215+
if err != nil {
216+
t.Fatal(err)
217+
}
218+
}
219+
184220
func BenchmarkSeek(b *testing.B) {
185221
// Use a fixed data source for consistent benchmarking.
186222
data := make([]byte, 100000) // Example: 100KB of data

0 commit comments

Comments
 (0)