aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--syz-cluster/series-tracker/main.go7
-rw-r--r--syz-cluster/series-tracker/main_test.go9
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)
+ }
+}