mirror of
https://github.com/anchore/syft.git
synced 2025-11-18 08:53:15 +01:00
test: final version of snippet script
Signed-off-by: Christopher Phillips <christopher.phillips@anchore.com>
This commit is contained in:
parent
48cfc60631
commit
6d89a2bfcc
@ -146,7 +146,7 @@ func Test_Cataloger_DefaultClassifiers_PositiveCases(t *testing.T) {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "positive-httpd-2.4.54",
|
name: "positive-httpd-2.4.54",
|
||||||
fixtureDir: "test-fixtures/classifiers/positive/httpd-2.4.54-3e11fbb6fa371cc9c3e513f49f0ab247b482773cd312248eb86e51251e36fafd-546892-100",
|
fixtureDir: "test-fixtures/classifiers/positive/httpd-2.4.54",
|
||||||
expected: pkg.Package{
|
expected: pkg.Package{
|
||||||
Name: "httpd",
|
Name: "httpd",
|
||||||
Version: "2.4.54",
|
Version: "2.4.54",
|
||||||
|
|||||||
Binary file not shown.
@ -3,10 +3,11 @@
|
|||||||
# Default values for length and prefix length
|
# Default values for length and prefix length
|
||||||
LENGTH=100
|
LENGTH=100
|
||||||
PREFIX_LENGTH=10
|
PREFIX_LENGTH=10
|
||||||
|
SEARCH_FOR=''
|
||||||
|
|
||||||
# Function to show usage
|
# Function to show usage
|
||||||
usage() {
|
usage() {
|
||||||
echo "Usage: $0 <path-to-binary> <search-pattern> [--length <length>] [--prefix-length <prefix_length>]"
|
echo "Usage: $0 <path-to-binary> <version> [--search-for <pattern>] [--length <length>] [--prefix-length <prefix_length>]"
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -15,6 +16,11 @@ while [[ $# -gt 0 ]]; do
|
|||||||
key="$1"
|
key="$1"
|
||||||
|
|
||||||
case $key in
|
case $key in
|
||||||
|
--search-for)
|
||||||
|
SEARCH_FOR="$2"
|
||||||
|
shift # past argument
|
||||||
|
shift # past value
|
||||||
|
;;
|
||||||
--length)
|
--length)
|
||||||
LENGTH="$2"
|
LENGTH="$2"
|
||||||
shift # past argument
|
shift # past argument
|
||||||
@ -28,8 +34,8 @@ while [[ $# -gt 0 ]]; do
|
|||||||
*)
|
*)
|
||||||
if [ -z "$BINARY_FILE" ]; then
|
if [ -z "$BINARY_FILE" ]; then
|
||||||
BINARY_FILE="$1"
|
BINARY_FILE="$1"
|
||||||
elif [ -z "$PATTERN" ]; then
|
elif [ -z "$VERSION" ]; then
|
||||||
PATTERN="$1"
|
VERSION="$1"
|
||||||
else
|
else
|
||||||
echo "Unknown option: $1"
|
echo "Unknown option: $1"
|
||||||
usage
|
usage
|
||||||
@ -40,7 +46,7 @@ while [[ $# -gt 0 ]]; do
|
|||||||
done
|
done
|
||||||
|
|
||||||
# check if binary file and pattern are provided
|
# check if binary file and pattern are provided
|
||||||
if [ -z "$BINARY_FILE" ] || [ -z "$PATTERN" ]; then
|
if [ -z "$BINARY_FILE" ] || [ -z "$VERSION" ]; then
|
||||||
usage
|
usage
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -50,6 +56,9 @@ if ! command -v xxd &> /dev/null; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
PATTERN=${SEARCH_FOR:-$VERSION}
|
||||||
|
|
||||||
PATTERN_RESULTS=$(strings -a -t d "$BINARY_FILE" | grep "$PATTERN")
|
PATTERN_RESULTS=$(strings -a -t d "$BINARY_FILE" | grep "$PATTERN")
|
||||||
|
|
||||||
# if there are multiple matches, prompt the user to select one
|
# if there are multiple matches, prompt the user to select one
|
||||||
@ -113,7 +122,7 @@ DATE=$(date)
|
|||||||
BASE64_PATTERN=$(echo -n "$PATTERN" | base64)
|
BASE64_PATTERN=$(echo -n "$PATTERN" | base64)
|
||||||
FILENAME=$(basename "$BINARY_FILE")
|
FILENAME=$(basename "$BINARY_FILE")
|
||||||
INFO=$(file -b "$BINARY_FILE")
|
INFO=$(file -b "$BINARY_FILE")
|
||||||
OUTPUT_DIRECTORY="classifiers/positive/$FILENAME-$PATTERN-$SHA256-$OFFSET-$LENGTH"
|
OUTPUT_DIRECTORY="classifiers/positive/$FILENAME-$VERSION"
|
||||||
mkdir "$OUTPUT_DIRECTORY"
|
mkdir "$OUTPUT_DIRECTORY"
|
||||||
|
|
||||||
OUTPUT_FILE="$OUTPUT_DIRECTORY/$FILENAME"
|
OUTPUT_FILE="$OUTPUT_DIRECTORY/$FILENAME"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user