Skip to content

Commit 7774d7e

Browse files
committed
embedfs: Apply PR feedback
Signed-off-by: Paulo Gomes <pjbgf@linux.com>
1 parent 5d48337 commit 7774d7e

File tree

1 file changed

+27
-32
lines changed

1 file changed

+27
-32
lines changed

embedfs/embed_test.go

Lines changed: 27 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import (
1313
"github.com/stretchr/testify/require"
1414
)
1515

16-
1716
func TestOpen(t *testing.T) {
1817
t.Parallel()
1918

@@ -186,8 +185,8 @@ func TestReadDir(t *testing.T) {
186185
{
187186
name: "empty path",
188187
path: "",
189-
fs: testdata.GetTestData(),
190-
want: []string{"testdata"},
188+
fs: &emptyEmbedFS,
189+
want: []string{},
191190
wantErr: false,
192191
},
193192
{
@@ -271,14 +270,14 @@ func TestFileSeek(t *testing.T) {
271270
seekWhence int
272271
want string
273272
}{
274-
{seekOff: 8, seekWhence: io.SeekStart, want: "test file"}, // pos now at 17
275-
{seekOff: 8, seekWhence: io.SeekStart, want: "t"}, // pos now at 9
276-
{seekOff: 9, seekWhence: io.SeekStart, want: "est"}, // pos now at 12
277-
{seekOff: 1, seekWhence: io.SeekStart, want: "nother test file"}, // pos now at 17
273+
{seekOff: 8, seekWhence: io.SeekStart, want: "test file"}, // pos now at 17
274+
{seekOff: 8, seekWhence: io.SeekStart, want: "t"}, // pos now at 9
275+
{seekOff: 9, seekWhence: io.SeekStart, want: "est"}, // pos now at 12
276+
{seekOff: 1, seekWhence: io.SeekStart, want: "nother test file"}, // pos now at 17
278277
{seekOff: 0, seekWhence: io.SeekStart, want: "Another test file"}, // pos now at 17
279-
{seekOff: 0, seekWhence: io.SeekStart, want: "A"}, // pos now at 1
280-
{seekOff: 0, seekWhence: io.SeekCurrent, want: "n"}, // pos now at 2
281-
{seekOff: -4, seekWhence: io.SeekEnd, want: "file"}, // pos now at 17
278+
{seekOff: 0, seekWhence: io.SeekStart, want: "A"}, // pos now at 1
279+
{seekOff: 0, seekWhence: io.SeekCurrent, want: "n"}, // pos now at 2
280+
{seekOff: -4, seekWhence: io.SeekEnd, want: "file"}, // pos now at 17
282281
}
283282

284283
for i, tc := range tests {
@@ -337,9 +336,9 @@ func TestJoin(t *testing.T) {
337336

338337
func TestEmbedfs_ComprehensiveOpen(t *testing.T) {
339338
t.Parallel()
340-
339+
341340
fs := New(testdata.GetTestData())
342-
341+
343342
// Test opening existing embedded file with content
344343
f, err := fs.Open("/testdata/file1.txt")
345344
require.NoError(t, err)
@@ -349,13 +348,13 @@ func TestEmbedfs_ComprehensiveOpen(t *testing.T) {
349348

350349
func TestEmbedfs_ComprehensiveRead(t *testing.T) {
351350
t.Parallel()
352-
351+
353352
fs := New(testdata.GetTestData())
354-
353+
355354
f, err := fs.Open("/testdata/file1.txt")
356355
require.NoError(t, err)
357356
defer f.Close()
358-
357+
359358
// Read the actual content
360359
buf := make([]byte, 100)
361360
n, err := f.Read(buf)
@@ -365,14 +364,14 @@ func TestEmbedfs_ComprehensiveRead(t *testing.T) {
365364

366365
func TestEmbedfs_NestedFileOperations(t *testing.T) {
367366
t.Parallel()
368-
367+
369368
fs := New(testdata.GetTestData())
370-
369+
371370
// Test nested file read
372371
f, err := fs.Open("/testdata/subdir/nested.txt")
373372
require.NoError(t, err)
374373
defer f.Close()
375-
374+
376375
buf := make([]byte, 100)
377376
n, err := f.Read(buf)
378377
require.NoError(t, err)
@@ -381,9 +380,9 @@ func TestEmbedfs_NestedFileOperations(t *testing.T) {
381380

382381
func TestEmbedfs_PathNormalization(t *testing.T) {
383382
t.Parallel()
384-
383+
385384
fs := New(testdata.GetTestData())
386-
385+
387386
// Test that our path normalization works across all methods
388387
tests := []struct {
389388
name string
@@ -394,7 +393,7 @@ func TestEmbedfs_PathNormalization(t *testing.T) {
394393
{"nested", "/testdata/subdir"},
395394
{"deep file", "/testdata/subdir/nested.txt"},
396395
}
397-
396+
398397
for _, tt := range tests {
399398
t.Run(tt.name, func(t *testing.T) {
400399
// All these should work with our path normalization
@@ -428,21 +427,21 @@ func TestFile_ReadAt(t *testing.T) {
428427
{"middle", 6, 4, "from"},
429428
{"end", 15, 4, "dfs!"},
430429
{"full content", 0, 19, "Hello from embedfs!"},
431-
{"beyond end", 100, 10, ""}, // Should return EOF
430+
{"beyond end", 100, 10, ""}, // Should return EOF
432431
}
433432

434433
for _, tt := range tests {
435434
t.Run(tt.name, func(t *testing.T) {
436435
buf := make([]byte, tt.length)
437436
n, err := f.ReadAt(buf, tt.offset)
438-
439-
if tt.offset >= 19 { // Beyond file size
437+
438+
if tt.offset >= 19 { // Beyond file size
440439
require.Error(t, err)
441440
assert.Equal(t, 0, n)
442441
} else {
443442
if tt.offset+int64(tt.length) > 19 {
444443
// Partial read at end of file
445-
require.Error(t, err) // Should be EOF
444+
require.ErrorIs(t, err, io.EOF)
446445
assert.Greater(t, n, 0)
447446
assert.Equal(t, tt.want, string(buf[:n]))
448447
} else {
@@ -472,16 +471,12 @@ func TestFile_Close(t *testing.T) {
472471
err = f.Close()
473472
require.NoError(t, err)
474473

475-
// Test multiple closes (should be safe)
474+
// Multiple closes must not fail.
476475
err = f.Close()
477476
require.NoError(t, err)
478477

479478
err = f.Close()
480479
require.NoError(t, err)
481-
482-
// Note: embedfs doesn't necessarily fail operations after close
483-
// since embed.FS files remain readable. This tests that Close() works
484-
// without error, but doesn't enforce post-close failure behavior.
485480
}
486481

487482
func TestFile_LockUnlock(t *testing.T) {
@@ -493,14 +488,14 @@ func TestFile_LockUnlock(t *testing.T) {
493488
require.NoError(t, err)
494489
defer f.Close()
495490

496-
// Lock/Unlock should be no-ops that don't error
491+
// Lock/Unlock are no-ops and must not error.
497492
err = f.Lock()
498493
require.NoError(t, err)
499494

500495
err = f.Unlock()
501496
require.NoError(t, err)
502497

503-
// Multiple lock/unlock sequences should work
498+
// Invalid lock/unlock sequences are not checked.
504499
err = f.Lock()
505500
require.NoError(t, err)
506501
err = f.Lock()

0 commit comments

Comments
 (0)