1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
package errs
import (
"io/ioutil"
"os"
"testing"
"errors"
"github.com/stretchr/testify/require"
)
func TestFileError(t *testing.T) {
tests := []struct {
err error
expected string
}{
{
err: os.NewSyscallError("open", errors.New("out of file descriptors")),
expected: "open failed: out of file descriptors",
},
{
err: func() error {
_, err := ioutil.ReadFile("im-fairly-certain-this-file-doesnt-exist")
require.Error(t, err)
return err
}(),
expected: "open im-fairly-certain-this-file-doesnt-exist failed",
},
{
err: func() error {
err := os.Link("im-fairly-certain-this-file-doesnt-exist", "neither-does-this")
require.Error(t, err)
return err
}(),
expected: "link im-fairly-certain-this-file-doesnt-exist neither-does-this failed",
},
}
for _, tt := range tests {
err := FileError(tt.err, "myfile")
require.Error(t, err)
require.Contains(t, err.Error(), tt.expected)
}
}
|