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

Function FuzzScheduleParser

pkg/parser/schedule_parser_fuzz_test.go:21–485  ·  view source on GitHub ↗

FuzzScheduleParser performs fuzz testing on the schedule parser to discover edge cases and potential security vulnerabilities in schedule input handling. The fuzzer validates that: 1. Valid schedule expressions are correctly parsed 2. Invalid schedules are properly rejected with errors 3. Parser ha

(f *testing.F)

Source from the content-addressed store, hash-verified

19// 6. UTC offset parsing is robust
20// 7. Minimum duration validation works correctly
21func FuzzScheduleParser(f *testing.F) {
22 // Seed corpus with valid schedule expressions
23
24 // Daily schedules
25 f.Add("daily")
26 f.Add("daily at 02:00")
27 f.Add("daily at midnight")
28 f.Add("daily at noon")
29 f.Add("daily at 09:30")
30
31 // Daily schedules with weekday restriction
32 f.Add("daily on weekdays")
33 f.Add("daily around 9am on weekdays")
34 f.Add("daily around 14:00 on weekdays")
35 f.Add("daily between 9:00 and 17:00 on weekdays")
36 f.Add("daily between 9am and 5pm on weekdays")
37
38 // Daily around schedules (fuzzy with target time)
39 f.Add("daily around 14:00")
40 f.Add("daily around 02:00")
41 f.Add("daily around midnight")
42 f.Add("daily around noon")
43 f.Add("daily around 09:30")
44 f.Add("daily around 23:30")
45 f.Add("daily around 3pm")
46 f.Add("daily around 9am")
47 f.Add("daily around 12am")
48 f.Add("daily around 12pm")
49 f.Add("daily around 11pm")
50 f.Add("daily around 6am")
51 f.Add("daily around 14:00 utc+9")
52 f.Add("daily around 3pm utc-5")
53 f.Add("daily around 9am utc+05:30")
54 f.Add("daily around midnight utc-8")
55 f.Add("daily around noon utc+2")
56 f.Add("daily around 2pm utc+1")
57 f.Add("daily around 11pm utc-3")
58 f.Add("daily around 8 am PT")
59 f.Add("daily around 8 am PST")
60 f.Add("daily around 8 am PDT")
61
62 // Daily between schedules (fuzzy with time range)
63 f.Add("daily between 9:00 and 17:00")
64 f.Add("daily between 9am and 5pm")
65 f.Add("daily between midnight and noon")
66 f.Add("daily between noon and midnight")
67 f.Add("daily between 22:00 and 02:00")
68 f.Add("daily between 10pm and 2am")
69 f.Add("daily between 8:30 and 18:45")
70 f.Add("daily between 6am and 6pm")
71 f.Add("daily between 1am and 11pm")
72 f.Add("daily between 00:00 and 23:59")
73 f.Add("daily between 12am and 11:59pm")
74 f.Add("daily between 23:00 and 01:00")
75 f.Add("daily between 11pm and 1am")
76 f.Add("daily between 7:15 and 16:45")
77 f.Add("daily between 3:30am and 8:30pm")
78 f.Add("daily between 9am utc-5 and 5pm utc-5")

Callers

nothing calls this directly

Calls 7

ParseScheduleFunction · 0.85
shouldErrorFunction · 0.85
looksValidFunction · 0.85
ToLowerMethod · 0.80
AddMethod · 0.45
ErrorfMethod · 0.45
ErrorMethod · 0.45

Tested by

no test coverage detected