2023-07-18 08:37:20 -07:00
|
|
|
// Copyright The OpenTelemetry Authors
|
2024-02-29 07:05:28 +01:00
|
|
|
// SPDX-License-Identifier: Apache-2.0
|
2023-07-18 08:37:20 -07:00
|
|
|
|
|
|
|
//go:build linux || dragonfly || freebsd || netbsd || openbsd || solaris
|
|
|
|
|
|
|
|
package resource
|
|
|
|
|
|
|
|
import (
|
|
|
|
"os"
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestReadFileExistent(t *testing.T) {
|
|
|
|
fileContents := "foo"
|
|
|
|
|
2025-02-13 11:18:37 +01:00
|
|
|
f, err := os.CreateTemp(t.TempDir(), "readfile_")
|
2023-07-18 08:37:20 -07:00
|
|
|
require.NoError(t, err)
|
|
|
|
|
|
|
|
defer os.Remove(f.Name())
|
|
|
|
|
|
|
|
_, err = f.WriteString(fileContents)
|
|
|
|
require.NoError(t, err)
|
|
|
|
require.NoError(t, f.Close())
|
|
|
|
|
|
|
|
result, err := readFile(f.Name())
|
|
|
|
require.NoError(t, err)
|
|
|
|
require.Equal(t, result, fileContents)
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestReadFileNonExistent(t *testing.T) {
|
|
|
|
// create unique filename
|
2025-02-13 11:18:37 +01:00
|
|
|
f, err := os.CreateTemp(t.TempDir(), "readfile_")
|
2023-07-18 08:37:20 -07:00
|
|
|
require.NoError(t, err)
|
|
|
|
|
|
|
|
// make file non-existent
|
|
|
|
require.NoError(t, os.Remove(f.Name()))
|
|
|
|
|
|
|
|
_, err = readFile(f.Name())
|
|
|
|
require.ErrorIs(t, err, os.ErrNotExist)
|
|
|
|
}
|