feat: initial goget release — modern IPv6-first download utility
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
//go:build linux || freebsd
|
||||
// +build linux freebsd
|
||||
|
||||
package metalink
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"testing"
|
||||
)
|
||||
|
||||
// FuzzMetalinkParse tests metalink XML parsing with fuzzed input.
|
||||
func FuzzMetalinkParse(f *testing.F) {
|
||||
f.Add([]byte(`<?xml version="1.0"?>
|
||||
<metalink xmlns="urn:ietf:params:xml:ns:metalink">
|
||||
<file name="test.txt">
|
||||
<url>https://example.com/test.txt</url>
|
||||
</file>
|
||||
</metalink>`))
|
||||
f.Add([]byte(``))
|
||||
f.Add([]byte(`<not metalink>`))
|
||||
f.Add([]byte(`<?xml version="1.0"?>`))
|
||||
f.Add([]byte(`<?xml version="1.0"?><metalink xmlns="urn:ietf:params:xml:ns:metalink"><file name=""><url></url></file></metalink>`))
|
||||
|
||||
f.Fuzz(func(t *testing.T, data []byte) {
|
||||
// Parse must never panic
|
||||
_, _ = Parse(bytes.NewReader(data))
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user