Add missing error checks in tests

... and remove one WriteFile that was always failing.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
This commit is contained in:
Miloslav Trmač 2022-09-26 20:17:32 +02:00
parent d60159bc30
commit 2d90000b09
16 changed files with 185 additions and 81 deletions

View File

@ -4,6 +4,9 @@ import (
"fmt"
"strings"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestValidateIPAddress(t *testing.T) {
@ -32,12 +35,14 @@ func TestValidateIPAddress(t *testing.T) {
func TestMapOpts(t *testing.T) {
tmpMap := make(map[string]string)
o := NewMapOpts(tmpMap, logOptsValidator)
o.Set("max-size=1")
err := o.Set("max-size=1")
require.NoError(t, err)
if o.String() != "map[max-size:1]" {
t.Errorf("%s != [map[max-size:1]", o.String())
}
o.Set("max-file=2")
err = o.Set("max-file=2")
require.NoError(t, err)
if len(tmpMap) != 2 {
t.Errorf("map length %d != 2", len(tmpMap))
}
@ -56,15 +61,18 @@ func TestMapOpts(t *testing.T) {
func TestListOptsWithoutValidator(t *testing.T) {
o := NewListOpts(nil)
o.Set("foo")
err := o.Set("foo")
require.NoError(t, err)
if o.String() != "[foo]" {
t.Errorf("%s != [foo]", o.String())
}
o.Set("bar")
err = o.Set("bar")
require.NoError(t, err)
if o.Len() != 2 {
t.Errorf("%d != 2", o.Len())
}
o.Set("bar")
err = o.Set("bar")
require.NoError(t, err)
if o.Len() != 3 {
t.Errorf("%d != 3", o.Len())
}
@ -92,15 +100,18 @@ func TestListOptsWithoutValidator(t *testing.T) {
func TestListOptsWithValidator(t *testing.T) {
// Re-using logOptsvalidator (used by MapOpts)
o := NewListOpts(logOptsValidator)
o.Set("foo")
err := o.Set("foo")
assert.EqualError(t, err, "invalid key foo")
if o.String() != "[]" {
t.Errorf("%s != []", o.String())
}
o.Set("foo=bar")
err = o.Set("foo=bar")
assert.EqualError(t, err, "invalid key foo")
if o.String() != "[]" {
t.Errorf("%s != []", o.String())
}
o.Set("max-file=2")
err = o.Set("max-file=2")
require.NoError(t, err)
if o.Len() != 1 {
t.Errorf("%d != 1", o.Len())
}
@ -203,7 +214,8 @@ func TestNamedListOpts(t *testing.T) {
var v []string
o := NewNamedListOptsRef("foo-name", &v, nil)
o.Set("foo")
err := o.Set("foo")
require.NoError(t, err)
if o.String() != "[foo]" {
t.Errorf("%s != [foo]", o.String())
}
@ -219,7 +231,8 @@ func TestNamedMapOpts(t *testing.T) {
tmpMap := make(map[string]string)
o := NewNamedMapOpts("max-name", tmpMap, nil)
o.Set("max-size=1")
err := o.Set("max-size=1")
require.NoError(t, err)
if o.String() != "map[max-size:1]" {
t.Errorf("%s != [map[max-size:1]", o.String())
}

View File

@ -458,7 +458,8 @@ func TestCopyWithTarSrcFolder(t *testing.T) {
if err != nil {
t.Fatal(err)
}
os.WriteFile(filepath.Join(src, "file"), []byte("content"), 0777)
err = os.WriteFile(filepath.Join(src, "file"), []byte("content"), 0777)
require.NoError(t, err)
err = defaultCopyWithTar(src, dest)
if err != nil {
t.Fatalf("archiver.CopyWithTar shouldn't throw an error, %s.", err)
@ -531,7 +532,8 @@ func TestCopyFileWithTarSrcFile(t *testing.T) {
if err != nil {
t.Fatal(err)
}
os.WriteFile(src, []byte("content"), 0777)
err = os.WriteFile(src, []byte("content"), 0777)
require.NoError(t, err)
err = defaultCopyWithTar(src, dest+"/")
if err != nil {
t.Fatalf("archiver.CopyFileWithTar shouldn't throw an error, %s.", err)
@ -560,7 +562,6 @@ func TestCopySocket(t *testing.T) {
if err != nil {
t.Fatal(err)
}
os.WriteFile(src, []byte("content"), 0777)
err = defaultCopyWithTar(src, dest+"/")
if err != nil {
t.Fatalf("archiver.CopyFileWithTar shouldn't throw an error, %s.", err)
@ -1127,8 +1128,10 @@ func TestUntarInvalidSymlink(t *testing.T) {
func TestTempArchiveCloseMultipleTimes(t *testing.T) {
reader := io.NopCloser(strings.NewReader("hello"))
tempArchive, err := NewTempArchive(reader, "")
require.NoError(t, err)
buf := make([]byte, 10)
n, err := tempArchive.Read(buf)
require.NoError(t, err)
if n != 5 {
t.Fatalf("Expected to read 5 bytes. Read %d instead", n)
}

View File

@ -141,23 +141,29 @@ func TestChangesWithChanges(t *testing.T) {
// Mock the readonly layer
layer := t.TempDir()
createSampleDir(t, layer)
os.MkdirAll(path.Join(layer, "dir1/subfolder"), 0740)
err := os.MkdirAll(path.Join(layer, "dir1/subfolder"), 0740)
require.NoError(t, err)
// Mock the RW layer
rwLayer := t.TempDir()
// Create a folder in RW layer
dir1 := path.Join(rwLayer, "dir1")
os.MkdirAll(dir1, 0740)
err = os.MkdirAll(dir1, 0740)
require.NoError(t, err)
deletedFile := path.Join(dir1, ".wh.file1-2")
os.WriteFile(deletedFile, []byte{}, 0600)
err = os.WriteFile(deletedFile, []byte{}, 0600)
require.NoError(t, err)
modifiedFile := path.Join(dir1, "file1-1")
os.WriteFile(modifiedFile, []byte{0x00}, 01444)
err = os.WriteFile(modifiedFile, []byte{0x00}, 01444)
require.NoError(t, err)
// Let's add a subfolder for a newFile
subfolder := path.Join(dir1, "subfolder")
os.MkdirAll(subfolder, 0740)
err = os.MkdirAll(subfolder, 0740)
require.NoError(t, err)
newFile := path.Join(subfolder, "newFile")
os.WriteFile(newFile, []byte{}, 0740)
err = os.WriteFile(newFile, []byte{}, 0740)
require.NoError(t, err)
changes, err := Changes([]string{layer}, rwLayer)
require.NoError(t, err)
@ -182,10 +188,12 @@ func TestChangesWithChangesGH13590(t *testing.T) {
baseLayer := t.TempDir()
dir3 := path.Join(baseLayer, "dir1/dir2/dir3")
os.MkdirAll(dir3, 07400)
err := os.MkdirAll(dir3, 07400)
require.NoError(t, err)
file := path.Join(dir3, "file.txt")
os.WriteFile(file, []byte("hello"), 0666)
err = os.WriteFile(file, []byte("hello"), 0666)
require.NoError(t, err)
layer := t.TempDir()
@ -196,7 +204,8 @@ func TestChangesWithChangesGH13590(t *testing.T) {
os.Remove(path.Join(layer, "dir1/dir2/dir3/file.txt"))
file = path.Join(layer, "dir1/dir2/dir3/file1.txt")
os.WriteFile(file, []byte("bye"), 0666)
err = os.WriteFile(file, []byte("bye"), 0666)
require.NoError(t, err)
changes, err := Changes([]string{baseLayer}, layer)
require.NoError(t, err)
@ -217,7 +226,8 @@ func TestChangesWithChangesGH13590(t *testing.T) {
}
file = path.Join(layer, "dir1/dir2/dir3/file.txt")
os.WriteFile(file, []byte("bye"), 0666)
err = os.WriteFile(file, []byte("bye"), 0666)
require.NoError(t, err)
changes, err = Changes([]string{baseLayer}, layer)
require.NoError(t, err)

View File

@ -10,6 +10,8 @@ import (
"path/filepath"
"testing"
"time"
"github.com/stretchr/testify/require"
)
var testUntarFns = map[string]func(string, io.Reader) error{
@ -61,11 +63,12 @@ func testBreakout(t *testing.T, untarFn string, headers []*tar.Header) error {
reader, writer := io.Pipe()
go func() {
t := tar.NewWriter(writer)
tw := tar.NewWriter(writer)
for _, hdr := range headers {
t.WriteHeader(hdr)
err := tw.WriteHeader(hdr)
require.NoError(t, err)
}
t.Close()
tw.Close()
}()
untar := testUntarFns[untarFn]

View File

@ -30,7 +30,8 @@ func TestGenerateEmptyFile(t *testing.T) {
}
require.NoError(t, err)
buf := new(bytes.Buffer)
buf.ReadFrom(tr)
_, err = buf.ReadFrom(tr)
require.NoError(t, err)
content := buf.String()
actualFiles = append(actualFiles, []string{hdr.Name, content})
i++
@ -71,7 +72,8 @@ func TestGenerateWithContent(t *testing.T) {
}
require.NoError(t, err)
buf := new(bytes.Buffer)
buf.ReadFrom(tr)
_, err = buf.ReadFrom(tr)
require.NoError(t, err)
content := buf.String()
actualFiles = append(actualFiles, []string{hdr.Name, content})
i++

View File

@ -16,6 +16,7 @@ import (
"github.com/containers/storage/pkg/archive"
"github.com/containers/storage/pkg/idtools"
"github.com/containers/storage/pkg/reexec"
"github.com/stretchr/testify/require"
)
const (
@ -423,7 +424,8 @@ func TestChrootUntarPath(t *testing.T) {
t.Fatal(err)
}
buf := new(bytes.Buffer)
buf.ReadFrom(stream)
_, err = buf.ReadFrom(stream)
require.NoError(t, err)
tarfile := filepath.Join(tmpdir, "src.tar")
if err := os.WriteFile(tarfile, buf.Bytes(), 0644); err != nil {
t.Fatal(err)
@ -472,7 +474,8 @@ func TestChrootUntarPathAndChown(t *testing.T) {
}
buf := new(bytes.Buffer)
buf.ReadFrom(stream)
_, err = buf.ReadFrom(stream)
require.NoError(t, err)
tarfile := filepath.Join(tmpdir, "src.tar")
if err := os.WriteFile(tarfile, buf.Bytes(), 0644); err != nil {
t.Fatal(err)

View File

@ -6,6 +6,8 @@ import (
"reflect"
"sort"
"testing"
"github.com/stretchr/testify/require"
)
// Usage of an empty directory should be 0
@ -45,7 +47,8 @@ func TestUsageNonemptyFile(t *testing.T) {
}
d := []byte{97, 98, 99, 100, 101}
file.Write(d)
_, err = file.Write(d)
require.NoError(t, err)
usage, _ := Usage(dir)
expectSizeAndInodeCount(t, "directory with one 5-byte file", usage, &DiskUsage{
@ -92,7 +95,8 @@ func TestUsageFileAndNestedDirectoryEmpty(t *testing.T) {
}
d := []byte{100, 111, 99, 107, 101, 114}
file.Write(d)
_, err = file.Write(d)
require.NoError(t, err)
usage, _ := Usage(dir)
expectSizeAndInodeCount(t, "directory with 6-byte file and empty directory", usage, &DiskUsage{
@ -117,7 +121,8 @@ func TestUsageFileAndNestedDirectoryNonempty(t *testing.T) {
}
data := []byte{100, 111, 99, 107, 101, 114}
file.Write(data)
_, err = file.Write(data)
require.NoError(t, err)
var nestedFile *os.File
if nestedFile, err = os.CreateTemp(dirNested, "file"); err != nil {
@ -125,7 +130,8 @@ func TestUsageFileAndNestedDirectoryNonempty(t *testing.T) {
}
nestedData := []byte{100, 111, 99, 107, 101, 114}
nestedFile.Write(nestedData)
_, err = nestedFile.Write(nestedData)
require.NoError(t, err)
usage, _ := Usage(dir)
expectSizeAndInodeCount(t, "directory with 6-byte file and nested directory with 6-byte file", usage, &DiskUsage{
@ -150,7 +156,8 @@ func TestMoveToSubdir(t *testing.T) {
if file, err := os.Create(filepath.Join(outerDir, fName)); err != nil {
t.Fatalf("couldn't create temp file %q: %v", fName, err)
} else {
file.WriteString(fName)
_, err = file.WriteString(fName)
require.NoError(t, err)
file.Close()
}
}

View File

@ -3,6 +3,8 @@ package ioutils
import (
"bytes"
"testing"
"github.com/stretchr/testify/require"
)
func TestFixedBufferCap(t *testing.T) {
@ -17,13 +19,15 @@ func TestFixedBufferCap(t *testing.T) {
func TestFixedBufferLen(t *testing.T) {
buf := &fixedBuffer{buf: make([]byte, 0, 10)}
buf.Write([]byte("hello"))
_, err := buf.Write([]byte("hello"))
require.NoError(t, err)
l := buf.Len()
if l != 5 {
t.Fatalf("expected buffer length to be 5 bytes, got %d", l)
}
buf.Write([]byte("world"))
_, err = buf.Write([]byte("world"))
require.NoError(t, err)
l = buf.Len()
if l != 10 {
t.Fatalf("expected buffer length to be 10 bytes, got %d", l)
@ -31,7 +35,8 @@ func TestFixedBufferLen(t *testing.T) {
// read 5 bytes
b := make([]byte, 5)
buf.Read(b)
_, err = buf.Read(b)
require.NoError(t, err)
l = buf.Len()
if l != 5 {
@ -61,8 +66,10 @@ func TestFixedBufferLen(t *testing.T) {
func TestFixedBufferString(t *testing.T) {
buf := &fixedBuffer{buf: make([]byte, 0, 10)}
buf.Write([]byte("hello"))
buf.Write([]byte("world"))
_, err := buf.Write([]byte("hello"))
require.NoError(t, err)
_, err = buf.Write([]byte("world"))
require.NoError(t, err)
out := buf.String()
if out != "helloworld" {
@ -71,7 +78,8 @@ func TestFixedBufferString(t *testing.T) {
// read 5 bytes
b := make([]byte, 5)
buf.Read(b)
_, err = buf.Read(b)
require.NoError(t, err)
// test that fixedBuffer.String() only returns the part that hasn't been read
out = buf.String()

View File

@ -6,15 +6,22 @@ import (
"math/rand"
"testing"
"time"
"github.com/stretchr/testify/require"
)
func TestBytesPipeRead(t *testing.T) {
buf := NewBytesPipe()
buf.Write([]byte("12"))
buf.Write([]byte("34"))
buf.Write([]byte("56"))
buf.Write([]byte("78"))
buf.Write([]byte("90"))
_, err := buf.Write([]byte("12"))
require.NoError(t, err)
_, err = buf.Write([]byte("34"))
require.NoError(t, err)
_, err = buf.Write([]byte("56"))
require.NoError(t, err)
_, err = buf.Write([]byte("78"))
require.NoError(t, err)
_, err = buf.Write([]byte("90"))
require.NoError(t, err)
rd := make([]byte, 4)
n, err := buf.Read(rd)
if err != nil {
@ -50,11 +57,16 @@ func TestBytesPipeRead(t *testing.T) {
func TestBytesPipeWrite(t *testing.T) {
buf := NewBytesPipe()
buf.Write([]byte("12"))
buf.Write([]byte("34"))
buf.Write([]byte("56"))
buf.Write([]byte("78"))
buf.Write([]byte("90"))
_, err := buf.Write([]byte("12"))
require.NoError(t, err)
_, err = buf.Write([]byte("34"))
require.NoError(t, err)
_, err = buf.Write([]byte("56"))
require.NoError(t, err)
_, err = buf.Write([]byte("78"))
require.NoError(t, err)
_, err = buf.Write([]byte("90"))
require.NoError(t, err)
if buf.buf[0].String() != "1234567890" {
t.Fatalf("Buffer %q, must be %q", buf.buf[0].String(), "1234567890")
}
@ -108,7 +120,8 @@ func TestBytesPipeWriteRandomChunks(t *testing.T) {
for i := 0; i < c.iterations; i++ {
for w := 0; w < c.writesPerLoop; w++ {
buf.Write(testMessage[:writeChunks[(i*c.writesPerLoop+w)%len(writeChunks)]])
_, err := buf.Write(testMessage[:writeChunks[(i*c.writesPerLoop+w)%len(writeChunks)]])
require.NoError(t, err)
}
}
buf.Close()
@ -135,7 +148,8 @@ func BenchmarkBytesPipeWrite(b *testing.B) {
}
}()
for j := 0; j < 1000; j++ {
buf.Write(testData)
_, err := buf.Write(testData)
require.NoError(b, err)
}
buf.Close()
}
@ -147,7 +161,8 @@ func BenchmarkBytesPipeRead(b *testing.B) {
b.StopTimer()
buf := NewBytesPipe()
for j := 0; j < 500; j++ {
buf.Write(make([]byte, 1024))
_, err := buf.Write(make([]byte, 1024))
require.NoError(b, err)
}
b.StartTimer()
for j := 0; j < 1000; j++ {

View File

@ -4,6 +4,8 @@ import (
"bytes"
"strings"
"testing"
"github.com/stretchr/testify/require"
)
func TestWriteCloserWrapperClose(t *testing.T) {
@ -52,8 +54,10 @@ func TestWriteCounter(t *testing.T) {
var buffer bytes.Buffer
wc := NewWriteCounter(&buffer)
reader1.WriteTo(wc)
reader2.WriteTo(wc)
_, err := reader1.WriteTo(wc)
require.NoError(t, err)
_, err = reader2.WriteTo(wc)
require.NoError(t, err)
if wc.Count != totalLength {
t.Errorf("Wrong count: %d vs. %d", wc.Count, totalLength)

View File

@ -4,6 +4,8 @@ import (
"sync"
"testing"
"time"
"github.com/stretchr/testify/require"
)
func TestLockCounter(t *testing.T) {
@ -76,7 +78,8 @@ func TestLockerUnlock(t *testing.T) {
l := New()
l.Lock("test")
l.Unlock("test")
err := l.Unlock("test")
require.NoError(t, err)
chDone := make(chan struct{})
go func() {
@ -100,7 +103,8 @@ func TestLockerConcurrency(t *testing.T) {
go func() {
l.Lock("test")
// if there is a concurrency issue, will very likely panic here
l.Unlock("test")
err := l.Unlock("test")
require.NoError(t, err)
wg.Done()
}()
}

View File

@ -36,8 +36,14 @@ func subTouchMain() {
}
tf.Lock()
os.Stdout.Close()
io.Copy(io.Discard, os.Stdin)
tf.Touch()
_, err = io.Copy(io.Discard, os.Stdin)
if err != nil {
logrus.Fatalf("error reading stdin: %v", err)
}
err = tf.Touch()
if err != nil {
logrus.Fatalf("error touching lock: %v", err)
}
tf.Unlock()
}
@ -81,7 +87,10 @@ func subLockMain() {
}
tf.Lock()
os.Stdout.Close()
io.Copy(io.Discard, os.Stdin)
_, err = io.Copy(io.Discard, os.Stdin)
if err != nil {
logrus.Fatalf("error reading stdin: %v", err)
}
tf.Unlock()
}
@ -120,7 +129,10 @@ func subRLockMain() {
}
tf.RLock()
os.Stdout.Close()
io.Copy(io.Discard, os.Stdin)
_, err = io.Copy(io.Discard, os.Stdin)
if err != nil {
logrus.Fatalf("error reading stdin: %v", err)
}
tf.Unlock()
}
@ -274,9 +286,11 @@ func TestLockfileTouch(t *testing.T) {
stdin, stdout, stderr, err := subTouch(l)
require.Nil(t, err, "got an error starting a subprocess to touch the lockfile")
l.Unlock()
io.Copy(io.Discard, stdout)
_, err = io.Copy(io.Discard, stdout)
require.NoError(t, err)
stdin.Close()
io.Copy(io.Discard, stderr)
_, err = io.Copy(io.Discard, stderr)
require.NoError(t, err)
l.Lock()
m, err = l.Modified()
l.Unlock()
@ -425,7 +439,8 @@ func TestLockfileMultiprocessRead(t *testing.T) {
for i := range subs {
wg.Add(1)
go func(i int) {
io.Copy(io.Discard, subs[i].stdout)
_, err := io.Copy(io.Discard, subs[i].stdout)
require.NoError(t, err)
if testing.Verbose() {
t.Logf("\tchild %4d acquired the read lock\n", i+1)
}
@ -468,7 +483,8 @@ func TestLockfileMultiprocessWrite(t *testing.T) {
for i := range subs {
wg.Add(1)
go func(i int) {
io.Copy(io.Discard, subs[i].stdout)
_, err := io.Copy(io.Discard, subs[i].stdout)
require.NoError(t, err)
if testing.Verbose() {
t.Logf("\tchild %4d acquired the write lock\n", i+1)
}
@ -527,7 +543,8 @@ func TestLockfileMultiprocessMixed(t *testing.T) {
wg.Add(1)
go func(i int) {
// wait for the child to acquire whatever lock it wants
io.Copy(io.Discard, subs[i].stdout)
_, err := io.Copy(io.Discard, subs[i].stdout)
require.NoError(t, err)
if writer(i) {
// child acquired a write lock
if testing.Verbose() {

View File

@ -12,6 +12,9 @@ import (
"strings"
"testing"
"time"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
// ResetForTesting clears all flag state and sets the usage function as directed.
@ -76,14 +79,19 @@ func TestEverything(t *testing.T) {
}
}
// Now set all flags
Set("test_bool", "true")
Set("test_int", "1")
Set("test_int64", "1")
Set("test_uint", "1")
Set("test_uint64", "1")
Set("test_string", "1")
Set("test_float64", "1")
Set("test_duration", "1s")
for _, e := range []struct{ name, value string }{
{"test_bool", "true"},
{"test_int", "1"},
{"test_int64", "1"},
{"test_uint", "1"},
{"test_uint64", "1"},
{"test_string", "1"},
{"test_float64", "1"},
{"test_duration", "1s"},
} {
err := Set(e.name, e.value)
require.NoError(t, err)
}
desired = "1"
Visit(visitor)
if len(m) != 8 {
@ -274,7 +282,7 @@ func testPanic(t *testing.T, f *FlagSet) {
args := []string{
"-int", "21",
}
f.Parse(args)
_ = f.Parse(args)
}
func TestParsePanic(t *testing.T) {
@ -366,7 +374,8 @@ func TestSetOutput(t *testing.T) {
var buf bytes.Buffer
flags.SetOutput(&buf)
flags.Init("test", ContinueOnError)
flags.Parse([]string{"-unknown"})
err := flags.Parse([]string{"-unknown"})
assert.ErrorContains(t, err, "unknown")
if out := buf.String(); !strings.Contains(out, "-unknown") {
t.Logf("expected output mentioning unknown; got %q", out)
}
@ -518,7 +527,8 @@ func TestMergeFlags(t *testing.T) {
base.String([]string{"f"}, "", "")
fs := NewFlagSet("test", ContinueOnError)
Merge(fs, base)
err := Merge(fs, base)
require.NoError(t, err)
if len(fs.formal) != 1 {
t.Fatalf("FlagCount (%d) != number (1) of elements merged", len(fs.formal))
}

View File

@ -1,3 +1,4 @@
//go:build !windows
// +build !windows
package kernel
@ -41,7 +42,7 @@ func TestParseRelease(t *testing.T) {
for _, invalid := range invalids {
expectedMessage := fmt.Sprintf("Can't parse kernel version %v", invalid)
if _, err := ParseRelease(invalid); err == nil || err.Error() != expectedMessage {
t.Fatalf("Parsing %q, got %#v", invalid, err)
}
}
}

View File

@ -6,6 +6,7 @@ import (
"time"
"github.com/containers/storage/pkg/stringid"
"github.com/stretchr/testify/require"
)
// Test the behavior of TruncIndex, an index for querying IDs from a non-conflicting prefix.
@ -134,7 +135,8 @@ func assertIndexIterateDoNotPanic(t *testing.T) {
go func() {
<-iterationStarted
index.Delete("19b36c2c326ccc11e726eee6ee78a0baf166ef96")
err := index.Delete("19b36c2c326ccc11e726eee6ee78a0baf166ef96")
require.NoError(t, err)
}()
index.Iterate(func(targetId string) {

View File

@ -9,6 +9,7 @@ import (
"testing"
"github.com/sirupsen/logrus"
"github.com/stretchr/testify/require"
"gotest.tools/assert"
)
@ -115,7 +116,8 @@ func TestReloadConfigurationFile(t *testing.T) {
content := bytes.NewBufferString("")
logrus.SetOutput(content)
var storageOpts StoreOptions
ReloadConfigurationFile("./storage_broken.conf", &storageOpts)
err := ReloadConfigurationFile("./storage_broken.conf", &storageOpts)
require.NoError(t, err)
assert.Equal(t, storageOpts.RunRoot, "/run/containers/test")
logrus.SetOutput(os.Stderr)