diff --git a/utils/osdetail/binmeta.go b/utils/osdetail/binmeta.go index 7ab9ccd..8c91cb9 100644 --- a/utils/osdetail/binmeta.go +++ b/utils/osdetail/binmeta.go @@ -30,12 +30,15 @@ func GenerateBinaryNameFromPath(path string) string { segments = segments[:len(segments)-1] } + // Debugging snippet: + // fmt.Printf("segments: %s\n", segments) + // Go through segments and collect name parts. nameParts := make([]string, 0, len(segments)) var fragments string for _, segment := range segments { // Group very short segments. - if len(segment) <= 3 { + if len(delimitersAtStart.ReplaceAllString(segment, "")) <= 2 { fragments += segment continue } else if fragments != "" { @@ -51,6 +54,9 @@ func GenerateBinaryNameFromPath(path string) string { nameParts = append(nameParts, fragments) } + // Debugging snippet: + // fmt.Printf("parts: %s\n", nameParts) + // Post-process name parts for i := range nameParts { // Remove any leading delimiters. @@ -62,6 +68,9 @@ func GenerateBinaryNameFromPath(path string) string { } } + // Debugging snippet: + // fmt.Printf("final: %s\n", nameParts) + return strings.Join(nameParts, " ") } diff --git a/utils/osdetail/binmeta_test.go b/utils/osdetail/binmeta_test.go index b0aa87e..1ab5e7c 100644 --- a/utils/osdetail/binmeta_test.go +++ b/utils/osdetail/binmeta_test.go @@ -17,6 +17,7 @@ func TestGenerateBinaryNameFromPath(t *testing.T) { assert.Equal(t, "Win Store App", GenerateBinaryNameFromPath("WinStore.App.exe")) assert.Equal(t, "Test Script", GenerateBinaryNameFromPath(".test-script")) assert.Equal(t, "Browser Broker", GenerateBinaryNameFromPath("browser_broker.exe")) + assert.Equal(t, "Virtual Box VM", GenerateBinaryNameFromPath("VirtualBoxVM")) } func TestCleanFileDescription(t *testing.T) { diff --git a/utils/osdetail/powershell_windows.go b/utils/osdetail/powershell_windows.go index 07c36fc..7478abb 100644 --- a/utils/osdetail/powershell_windows.go +++ b/utils/osdetail/powershell_windows.go @@ -7,7 +7,8 @@ import ( "strings" ) -func runPowershellCmd(script string) (output string, err error) { +// RunPowershellCmd runs a powershell command and returns its output. +func RunPowershellCmd(script string) (output string, err error) { // Create command to execute. cmd := exec.Command( "powershell.exe",