mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-10-22 04:18:53 +00:00
The package has been deprecated as part of 1.16 and the same functionality is now provided by either the io or the os package. Signed-off-by: Fabiano Fidêncio <fabiano.fidencio@intel.com>
84 lines
1.4 KiB
Go
84 lines
1.4 KiB
Go
//
|
|
// Copyright (c) 2018 Intel Corporation
|
|
//
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
//
|
|
|
|
package main
|
|
|
|
import (
|
|
"io"
|
|
"os"
|
|
"path/filepath"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestNewHexByteReader(t *testing.T) {
|
|
assert := assert.New(t)
|
|
|
|
file := "/tmp/foo.txt"
|
|
r := NewHexByteReader(file)
|
|
assert.Equal(r.file, file)
|
|
assert.Nil(r.f)
|
|
}
|
|
|
|
func TestNewHexByteReaderStdin(t *testing.T) {
|
|
assert := assert.New(t)
|
|
|
|
file := "-"
|
|
r := NewHexByteReader(file)
|
|
assert.Equal(r.file, file)
|
|
assert.Equal(r.f, os.Stdin)
|
|
}
|
|
|
|
func TestHexByteReaderRead(t *testing.T) {
|
|
assert := assert.New(t)
|
|
|
|
dir, err := os.MkdirTemp("", "")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
defer func() {
|
|
err = os.RemoveAll(dir)
|
|
assert.NoError(err)
|
|
}()
|
|
|
|
type testData struct {
|
|
contents string
|
|
result string
|
|
expectError bool
|
|
}
|
|
|
|
data := []testData{
|
|
{"", "", true},
|
|
|
|
// Valid
|
|
{" ", " ", false},
|
|
{"hello world", "hello world", false},
|
|
{`\x00`, `\\x00`, false},
|
|
{`\x00\x01`, `\\x00\\x01`, false},
|
|
}
|
|
|
|
for i, d := range data {
|
|
file := filepath.Join(dir, "file.log")
|
|
err := createFile(file, d.contents)
|
|
assert.NoError(err)
|
|
|
|
reader := NewHexByteReader(file)
|
|
bytes, err := io.ReadAll(reader)
|
|
|
|
if d.expectError {
|
|
assert.Errorf(err, "test[%d]: %+v", i, d)
|
|
} else {
|
|
assert.NoErrorf(err, "test[%d]: %+v", i, d)
|
|
assert.Equal([]byte(d.result), bytes)
|
|
}
|
|
|
|
err = os.Remove(file)
|
|
assert.NoError(err)
|
|
}
|
|
}
|