mirror of
https://github.com/anchore/syft.git
synced 2026-10-30 14:02:26 +01:00
Add support for indexing root filesystem (#442)
* change directory resolver to ignore system runtime paths + drive by index Signed-off-by: Alex Goodman <alex.goodman@anchore.com> * add event/etui support for filesystem indexing (for dir resolver) Signed-off-by: Alex Goodman <alex.goodman@anchore.com> * add warnings for path indexing problems Signed-off-by: Alex Goodman <alex.goodman@anchore.com> * add directory resolver index tests Signed-off-by: Alex Goodman <alex.goodman@anchore.com> * improve testing around directory resolver Signed-off-by: Alex Goodman <alex.goodman@anchore.com> * renamed p var to path when not conflicting with import Signed-off-by: Alex Goodman <alex.goodman@anchore.com> * pull docker image in CLI dir scan timeout test Signed-off-by: Alex Goodman <alex.goodman@anchore.com> * ensure file not exist errors do not stop directory resolver indexing Signed-off-by: Alex Goodman <alex.goodman@anchore.com>
This commit is contained in:
@@ -12,3 +12,10 @@ func HasAnyOfPrefixes(input string, prefixes ...string) bool {
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
func TruncateMiddleEllipsis(input string, maxLen int) string {
|
||||
if len(input) <= maxLen {
|
||||
return input
|
||||
}
|
||||
return input[:maxLen/2] + "..." + input[len(input)-(maxLen/2):]
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package internal
|
||||
|
||||
import (
|
||||
"strconv"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
@@ -63,3 +64,43 @@ func TestHasAnyOfPrefixes(t *testing.T) {
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestTruncateMiddleEllipsis(t *testing.T) {
|
||||
tests := []struct {
|
||||
input string
|
||||
len int
|
||||
expected string
|
||||
}{
|
||||
{
|
||||
input: "nobody expects the spanish inquisition",
|
||||
len: 39,
|
||||
expected: "nobody expects the spanish inquisition",
|
||||
},
|
||||
{
|
||||
input: "nobody expects the spanish inquisition",
|
||||
len: 30,
|
||||
expected: "nobody expects ...ish inquisition",
|
||||
},
|
||||
{
|
||||
input: "nobody expects the spanish inquisition",
|
||||
len: 38,
|
||||
expected: "nobody expects the spanish inquisition",
|
||||
},
|
||||
{
|
||||
input: "",
|
||||
len: 30,
|
||||
expected: "",
|
||||
},
|
||||
{
|
||||
input: "",
|
||||
len: 0,
|
||||
expected: "",
|
||||
},
|
||||
}
|
||||
|
||||
for _, test := range tests {
|
||||
t.Run(test.input+":"+strconv.Itoa(test.len), func(t *testing.T) {
|
||||
assert.Equal(t, test.expected, TruncateMiddleEllipsis(test.input, test.len))
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user