Skip to content

Commit 9f7a804

Browse files
committed
🐛 test
1 parent c64b760 commit 9f7a804

File tree

3 files changed

+73
-41
lines changed

3 files changed

+73
-41
lines changed

utils/filesystem/files_test.go

Lines changed: 0 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import (
99
"context"
1010
"fmt"
1111
"io"
12-
"net"
1312
"os"
1413
"path/filepath"
1514
"reflect"
@@ -23,7 +22,6 @@ import (
2322
"github.com/spf13/afero"
2423
"github.com/stretchr/testify/assert"
2524
"github.com/stretchr/testify/require"
26-
"golang.org/x/sys/unix"
2725

2826
"github.com/ARM-software/golang-utils/utils/collection"
2927
"github.com/ARM-software/golang-utils/utils/commonerrors"
@@ -549,9 +547,6 @@ func TestConvertPaths(t *testing.T) {
549547
}
550548

551549
func TestIsFile(t *testing.T) {
552-
if platform.IsWindows() {
553-
t.Skip("Windows doesn't have features such as named pipes or unix sockets")
554-
}
555550
for _, fsType := range FileSystemTypes {
556551
t.Run(fmt.Sprint(fsType), func(t *testing.T) {
557552
fs := NewFs(fsType)
@@ -567,38 +562,6 @@ func TestIsFile(t *testing.T) {
567562
assert.True(t, b)
568563
})
569564

570-
t.Run("special file", func(t *testing.T) {
571-
if fsType == InMemoryFS {
572-
t.Skip("In-memory file system won't have hardware devices or special files")
573-
}
574-
575-
b, err := fs.IsFile("/dev/null")
576-
require.NoError(t, err)
577-
assert.True(t, b)
578-
579-
fifoPath := filepath.Join(tmpDir, faker.Word())
580-
require.NoError(t, err)
581-
defer func() { _ = fs.Rm(fifoPath) }()
582-
err = unix.Mkfifo(fifoPath, 0666)
583-
require.NoError(t, err)
584-
b, err = fs.IsFile(fifoPath)
585-
require.NoError(t, err)
586-
assert.True(t, b)
587-
err = fs.Rm(fifoPath)
588-
require.NoError(t, err)
589-
590-
socketPath := filepath.Join(tmpDir, faker.Word())
591-
require.NoError(t, err)
592-
defer func() { _ = fs.Rm(socketPath) }()
593-
l, err := net.Listen("unix", socketPath)
594-
require.NoError(t, err)
595-
defer func() { _ = l.Close() }()
596-
b, err = fs.IsFile(socketPath)
597-
require.NoError(t, err)
598-
assert.True(t, b)
599-
err = fs.Rm(socketPath)
600-
require.NoError(t, err)
601-
})
602565
})
603566
}
604567
}
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
//go:build !windows
2+
// +build !windows
3+
4+
package filesystem
5+
6+
import (
7+
"fmt"
8+
"net"
9+
"path/filepath"
10+
"testing"
11+
12+
"github.com/go-faker/faker/v4"
13+
"github.com/stretchr/testify/assert"
14+
"github.com/stretchr/testify/require"
15+
"golang.org/x/sys/unix"
16+
)
17+
18+
func TestIsUnixFile(t *testing.T) {
19+
for _, fsType := range FileSystemTypes {
20+
t.Run(fmt.Sprint(fsType), func(t *testing.T) {
21+
fs := NewFs(fsType)
22+
23+
tmpDir := t.TempDir()
24+
25+
t.Run("normal file", func(t *testing.T) {
26+
filePath := filepath.Join(tmpDir, faker.Word())
27+
err := fs.Touch(filePath)
28+
require.NoError(t, err)
29+
b, err := fs.IsFile(filePath)
30+
require.NoError(t, err)
31+
assert.True(t, b)
32+
})
33+
34+
t.Run("special file", func(t *testing.T) {
35+
if fsType == InMemoryFS {
36+
t.Skip("In-memory file system won't have hardware devices or special files")
37+
}
38+
39+
b, err := fs.IsFile("/dev/null")
40+
require.NoError(t, err)
41+
assert.True(t, b)
42+
43+
fifoPath := filepath.Join(tmpDir, faker.Word())
44+
require.NoError(t, err)
45+
defer func() { _ = fs.Rm(fifoPath) }()
46+
err = unix.Mkfifo(fifoPath, 0666)
47+
require.NoError(t, err)
48+
b, err = fs.IsFile(fifoPath)
49+
require.NoError(t, err)
50+
assert.True(t, b)
51+
err = fs.Rm(fifoPath)
52+
require.NoError(t, err)
53+
54+
socketPath := filepath.Join(tmpDir, faker.Word())
55+
require.NoError(t, err)
56+
defer func() { _ = fs.Rm(socketPath) }()
57+
l, err := net.Listen("unix", socketPath)
58+
require.NoError(t, err)
59+
defer func() { _ = l.Close() }()
60+
b, err = fs.IsFile(socketPath)
61+
require.NoError(t, err)
62+
assert.True(t, b)
63+
err = fs.Rm(socketPath)
64+
require.NoError(t, err)
65+
})
66+
})
67+
}
68+
}

utils/filesystem/lockfile_test.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import (
1919
"go.uber.org/goleak"
2020

2121
"github.com/ARM-software/golang-utils/utils/commonerrors"
22+
"github.com/ARM-software/golang-utils/utils/commonerrors/errortest"
2223
)
2324

2425
var (
@@ -361,18 +362,18 @@ func TestLockConcurrentSafeguard(t *testing.T) {
361362
// FIXME it was noticed that there could be some race conditions happening in the in-memory file system
362363
// see https://github.com/spf13/afero/issues/298
363364
if err1 != nil {
364-
require.Equal(t0, expectedError, err1)
365+
errortest.RequireError(t0, err1, expectedError)
365366
}
366367
if err2 != nil {
367-
require.Equal(t0, expectedError, err2)
368+
errortest.RequireError(t0, err2, expectedError)
368369
}
369370
} else {
370371
require.NotEqual(t0, err1, err2)
371372
if err1 == nil {
372-
require.Equal(t0, expectedError, err2)
373+
errortest.RequireError(t0, err2, expectedError)
373374
}
374375
if err2 == nil {
375-
require.Equal(t0, expectedError, err1)
376+
errortest.RequireError(t0, err1, expectedError)
376377
}
377378
}
378379
}

0 commit comments

Comments
 (0)