MCPcopy Create free account
hub / github.com/github/gh-aw / FuzzParseTriggerShorthand

Function FuzzParseTriggerShorthand

pkg/workflow/trigger_parser_fuzz_test.go:22–237  ·  view source on GitHub ↗

FuzzParseTriggerShorthand is a fuzz test for the ParseTriggerShorthand function. It validates that the parser handles arbitrary input gracefully without panicking, and that it produces consistent, valid output for recognized trigger patterns. The fuzzer validates that: 1. The parser never panics on

(f *testing.F)

Source from the content-addressed store, hash-verified

20// 6. Additional events are properly formatted
21// 7. Edge cases (empty strings, very long inputs, special characters) are handled
22func FuzzParseTriggerShorthand(f *testing.F) {
23 // Seed corpus with valid trigger patterns
24
25 // Source Control Patterns
26 f.Add("push to main")
27 f.Add("push to develop")
28 f.Add("push to feature/test")
29 f.Add("push tags v*")
30 f.Add("push tags v1.*")
31 f.Add("pull_request opened")
32 f.Add("pull_request synchronize")
33 f.Add("pull_request reopened")
34 f.Add("pull_request closed")
35 f.Add("pull_request merged")
36 f.Add("pull_request labeled")
37 f.Add("pull_request affecting src/**")
38 f.Add("pull_request affecting docs/*.md")
39 f.Add("pull_request opened affecting src/**.go")
40 f.Add("pull opened")
41 f.Add("pull synchronize")
42
43 // Issue Patterns
44 f.Add("issue opened")
45 f.Add("issue edited")
46 f.Add("issue closed")
47 f.Add("issue reopened")
48 f.Add("issue assigned")
49 f.Add("issue unassigned")
50 f.Add("issue labeled")
51 f.Add("issue unlabeled")
52 f.Add("issue deleted")
53 f.Add("issue transferred")
54 f.Add("issue opened labeled bug")
55 f.Add("issue opened labeled enhancement")
56
57 // Discussion Patterns
58 f.Add("discussion created")
59 f.Add("discussion edited")
60 f.Add("discussion deleted")
61 f.Add("discussion transferred")
62 f.Add("discussion pinned")
63 f.Add("discussion unpinned")
64 f.Add("discussion labeled")
65 f.Add("discussion unlabeled")
66 f.Add("discussion locked")
67 f.Add("discussion unlocked")
68 f.Add("discussion category_changed")
69 f.Add("discussion answered")
70 f.Add("discussion unanswered")
71
72 // Manual Invocation Patterns
73 f.Add("manual")
74 f.Add("manual with input version")
75 f.Add("manual with input environment")
76 f.Add("manual with input tag")
77 f.Add("workflow completed ci-test")
78 f.Add("workflow completed build")
79 f.Add("workflow completed deploy-prod")

Callers

nothing calls this directly

Calls 6

ParseTriggerShorthandFunction · 0.85
validateTriggerIRFunction · 0.85
looksLikeValidTriggerFunction · 0.85
AddMethod · 0.45
ErrorfMethod · 0.45
ErrorMethod · 0.45

Tested by

no test coverage detected