diff options
| -rw-r--r-- | syz-cluster/series-tracker/main.go | 7 | ||||
| -rw-r--r-- | syz-cluster/series-tracker/main_test.go | 9 |
2 files changed, 15 insertions, 1 deletions
diff --git a/syz-cluster/series-tracker/main.go b/syz-cluster/series-tracker/main.go index d6f28a497..015f69290 100644 --- a/syz-cluster/series-tracker/main.go +++ b/syz-cluster/series-tracker/main.go @@ -15,6 +15,7 @@ import ( "regexp" "slices" "sort" + "strings" "time" "github.com/google/syzkaller/pkg/email" @@ -158,7 +159,7 @@ func (sf *SeriesFetcher) handleSeries(ctx context.Context, series *lore.Series, Title: series.Subject, Version: series.Version, SubjectTags: series.Tags, - Link: "https://lore.kernel.org/all/" + series.MessageID, + Link: loreLink(series.MessageID), PublishedAt: date, } sp := seriesProcessor{} @@ -198,6 +199,10 @@ func (sf *SeriesFetcher) handleSeries(ctx context.Context, series *lore.Series, return nil } +func loreLink(messageID string) string { + return "https://lore.kernel.org/all/" + strings.Trim(messageID, "<>") +} + type seriesProcessor map[string]struct{} var errFailedToParse = errors.New("failed to parse the email") diff --git a/syz-cluster/series-tracker/main_test.go b/syz-cluster/series-tracker/main_test.go index 805335076..9b207989e 100644 --- a/syz-cluster/series-tracker/main_test.go +++ b/syz-cluster/series-tracker/main_test.go @@ -43,3 +43,12 @@ second body`, "bob@example.com", "d@d.com", }, sp.Emails()) } + +func TestLoreLink(t *testing.T) { + for id, link := range map[string]string{ + "<id@domain>": "https://lore.kernel.org/all/id@domain", + "id@domain": "https://lore.kernel.org/all/id@domain", + } { + assert.Equal(t, link, loreLink(id), "id=%q", id) + } +} |
