fuzz_test.go 964 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. //go:build go1.18
  2. // +build go1.18
  3. package city
  4. import (
  5. "bytes"
  6. "testing"
  7. )
  8. var _defaultCorpus = [][]byte{
  9. nil,
  10. {},
  11. {1, 2, 3},
  12. {1, 2, 3, 4, 5, 6},
  13. []byte("hello"),
  14. []byte("hello world"),
  15. bytes.Repeat([]byte("hello"), 100),
  16. }
  17. func FuzzHash128(f *testing.F) {
  18. for _, s := range _defaultCorpus {
  19. f.Add(s)
  20. }
  21. f.Fuzz(func(t *testing.T, data []byte) {
  22. Hash128(data)
  23. })
  24. }
  25. func FuzzHash64(f *testing.F) {
  26. for _, s := range _defaultCorpus {
  27. f.Add(s)
  28. }
  29. f.Fuzz(func(t *testing.T, data []byte) {
  30. Hash64(data)
  31. })
  32. }
  33. func FuzzHash32(f *testing.F) {
  34. for _, s := range _defaultCorpus {
  35. f.Add(s)
  36. }
  37. f.Fuzz(func(t *testing.T, data []byte) {
  38. Hash32(data)
  39. })
  40. }
  41. func FuzzCH64(f *testing.F) {
  42. for _, s := range _defaultCorpus {
  43. f.Add(s)
  44. }
  45. f.Fuzz(func(t *testing.T, data []byte) {
  46. CH64(data)
  47. })
  48. }
  49. func FuzzCH128(f *testing.F) {
  50. for _, s := range _defaultCorpus {
  51. f.Add(s)
  52. }
  53. f.Fuzz(func(t *testing.T, data []byte) {
  54. CH128(data)
  55. })
  56. }