log-parser: move the kata-log-parser from the tests repo

to the kata-containers repo under the src/tools/log-parser folder
and vendor the modules

Fixes: #4100
Signed-off-by: Snir Sheriber <ssheribe@redhat.com>
This commit is contained in:
Snir Sheriber
2022-04-27 16:53:25 +03:00
parent 61a167139c
commit c7dacb1211
514 changed files with 296989 additions and 2 deletions

View File

@@ -0,0 +1,107 @@
//
// Copyright (c) 2017-2018 Intel Corporation
//
// SPDX-License-Identifier: Apache-2.0
//
package main
import (
"io/ioutil"
"os"
"path"
"path/filepath"
"syscall"
"testing"
"github.com/stretchr/testify/assert"
)
const (
testDirMode = os.FileMode(0750)
testFileMode = os.FileMode(0640)
)
func TestUtilsResolvePathEmptyPath(t *testing.T) {
assert := assert.New(t)
_, err := resolvePath("")
assert.Error(err)
}
func TestUtilsResolvePathValidPath(t *testing.T) {
assert := assert.New(t)
dir, err := ioutil.TempDir("", "")
if err != nil {
t.Fatal(err)
}
defer func() {
err = os.RemoveAll(dir)
assert.NoError(err)
}()
target := path.Join(dir, "target")
linkDir := path.Join(dir, "a/b/c")
linkFile := path.Join(linkDir, "link")
err = createEmptyFile(target)
assert.NoError(err)
absolute, err := filepath.Abs(target)
assert.NoError(err)
resolvedTarget, err := filepath.EvalSymlinks(absolute)
assert.NoError(err)
err = os.MkdirAll(linkDir, testDirMode)
assert.NoError(err)
err = syscall.Symlink(target, linkFile)
assert.NoError(err)
resolvedLink, err := resolvePath(linkFile)
assert.NoError(err)
assert.Equal(resolvedTarget, resolvedLink)
}
func TestUtilsResolvePathENOENT(t *testing.T) {
assert := assert.New(t)
dir, err := ioutil.TempDir("", "")
if err != nil {
t.Fatal(err)
}
target := path.Join(dir, "target")
linkDir := path.Join(dir, "a/b/c")
linkFile := path.Join(linkDir, "link")
err = createEmptyFile(target)
assert.NoError(err)
err = os.MkdirAll(linkDir, testDirMode)
assert.NoError(err)
err = syscall.Symlink(target, linkFile)
assert.NoError(err)
cwd, err := os.Getwd()
assert.NoError(err)
defer func() {
err = os.Chdir(cwd)
assert.NoError(err)
}()
err = os.Chdir(dir)
assert.NoError(err)
err = os.RemoveAll(dir)
assert.NoError(err)
_, err = resolvePath(filepath.Base(linkFile))
assert.Error(err)
}