buildResultDisplay creates a ResultDisplay from AllSectionsData
(data AllSectionsData)
| 914 | |
| 915 | // buildResultDisplay creates a ResultDisplay from AllSectionsData |
| 916 | func buildResultDisplay(data AllSectionsData) ResultDisplay { |
| 917 | result := ResultDisplay{ |
| 918 | ImageCount: data.TotalImages, |
| 919 | } |
| 920 | |
| 921 | // Set overall status |
| 922 | if data.OverallPassed { |
| 923 | result.Overall = "✅ PASSED" |
| 924 | } else { |
| 925 | result.Overall = "❌ FAILED" |
| 926 | } |
| 927 | |
| 928 | // Set fallback status |
| 929 | if data.FallbackUsed { |
| 930 | if data.FallbackCount == data.TotalImages { |
| 931 | result.Fallback = "used for all images" |
| 932 | } else { |
| 933 | result.Fallback = "used for some images" |
| 934 | } |
| 935 | } |
| 936 | |
| 937 | // Build image status lines |
| 938 | result.ImageLines = make([]string, 0, len(data.ImageStatuses)) |
| 939 | for _, img := range data.ImageStatuses { |
| 940 | statusLine := fmt.Sprintf(" [%d] …%s VSA=%s", img.Index, img.Digest, img.VSAStatus) |
| 941 | if img.FallbackStatus != "" { |
| 942 | statusLine += fmt.Sprintf(" Fallback=%s", img.FallbackStatus) |
| 943 | } |
| 944 | result.ImageLines = append(result.ImageLines, statusLine) |
| 945 | } |
| 946 | |
| 947 | return result |
| 948 | } |
| 949 | |
| 950 | // String formats the Result section for display |
| 951 | func (r ResultDisplay) String() string { |
no outgoing calls