Commit 9d1344ba authored by Kirill Smelkov's avatar Kirill Smelkov Committed by Kamil Kisiel

fuzz: Automatically export all tests pickles into fuzz/corpus

This way whatever/whenever we add a tricky test pickle into main tests
table, it should be automatically also be present as a starting point in
the fuzz corpus. This should hopefully improve fuzzing coverage.
parent 7aeda71a
N.
\ No newline at end of file
I01
.
\ No newline at end of file
.
\ No newline at end of file
(I1
I2
t.
\ No newline at end of file
(KKt.
\ No newline at end of file
KK.
\ No newline at end of file
I1
I2
†.
\ No newline at end of file
(I1
I2
I3
t.
\ No newline at end of file
(KKKt.
\ No newline at end of file
KKK.
\ No newline at end of file
I1
I2
I3
‡.
\ No newline at end of file
((I1
I2
t(I3
I4
tt.
\ No newline at end of file
((KKt(KKtt.
\ No newline at end of file
KKKK.
\ No newline at end of file
((I1
I2
tp0
(I3
I4
tp1
tp2
.
\ No newline at end of file
(l.
\ No newline at end of file
].
\ No newline at end of file
(lp0
.
\ No newline at end of file
(I1
I2
I3
I01
l.
\ No newline at end of file
(KKKI01
l.
\ No newline at end of file
(KKKl.
\ No newline at end of file
(lp0
I1
aI2
aI3
aI01
a.
\ No newline at end of file
S"abc"
.
\ No newline at end of file
Uabc.
\ No newline at end of file
abc.
\ No newline at end of file
S'abc'
p0
.
\ No newline at end of file
S'abc'
.
\ No newline at end of file
S"日本語"
.
\ No newline at end of file
U 日本語.
\ No newline at end of file
日本語.
\ No newline at end of file
V\u65e5\u672c\u8a9e
p0
.
\ No newline at end of file
V' \u77e5\u4e8b\u5c11\u65f6\u70e6\u607c\u5c11\u3001\u8bc6\u4eba\u591a\u5904\u662f\u975e\u591a\u3002
.
\ No newline at end of file
2' 知事少时烦恼少、识人多处是非多。.
\ No newline at end of file
(dp0
.
\ No newline at end of file
(dp0
S'a'
p1
S'1'
p2
sS'b'
p3
S'2'
p4
s.
\ No newline at end of file
I00
.
\ No newline at end of file
.
\ No newline at end of file
S'foo'
S'bar'
.
\ No newline at end of file
cfoo
bar
S'bing'
…R.
\ No newline at end of file
Pabc
.
\ No newline at end of file
UabcQ.
\ No newline at end of file
abcQ.
\ No newline at end of file
Uabc
dQ.
\ No newline at end of file
abc
dQ.
\ No newline at end of file
(KKtQ.
\ No newline at end of file
KKQ.
\ No newline at end of file
(I1
I2
tQ.
\ No newline at end of file
(lr0000I17
a.
\ No newline at end of file
(lp0
(dp1
S'start'
p2
I1383782400
sS'step'
p3
I86400
sS'end'
p4
I1385164800
sS'values'
p5
(lp6
F473.0
aF497.0
aF540.0
aF1497.0
aF1808.0
aF1890.0
aF2013.0
aF1821.0
aF1847.0
aF2176.0
aF2156.0
aF1250.0
aF2055.0
aF1570.0
aNaNasS'name'
p7
S'user.login.area.machine.metric.minute'
p8
sa.
\ No newline at end of file
(lp1
(dp2
S'intervals'
p3
(lp4
sS'metric_path'
p5
S'carbon.agents'
p6
sS'isLeaf'
p7
I00
sa(dp8
g3
(lp9
sg5
S'carbon.aggregator'
p10
sg7
I00
sa(dp11
g3
(lp12
sg5
S'carbon.relays'
p13
sg7
I00
sa.
\ No newline at end of file
V28,34,30,55,100,130,87,169,194,202,232,252,267,274,286,315,308,221,358,368,401,406,434,452,475,422,497,530,517,559,400,418,571,578,599,600,625,630,635,647,220,715,736,760,705,785,794,495,808,852,861,863,869,875,890,893,896,922,812,980,1074,1087,1145,1153,1163,1171,445,1195,1203,1242,1255,1274,52,1287,1319,636,1160,1339,1345,1353,1369,1391,1396,1405,1221,1410,1431,1451,1460,1470,1472,1492,1517,1528,419,1530,1532,1535,1573,1547,1574,1437,1594,1595,847,1551,983,1637,1647,1666,1672,1691,1726,1515,1731,1739,1741,1723,1776,1685,505,1624,1436,1890,728,1910,1931,1544,2013,2025,2030,2043,2069,1162,2129,2160,2199,2210,1911,2246,804,2276,1673,2299,2315,2322,2328,2355,2376,2405,1159,2425,2430,2452,1804,2442,2567,2577,1167,2611,2534,1879,2623,2682,2699,2652,2742,2754,2774,2782,2795,2431,2821,2751,2850,2090,513,2898,592,2932,2933,1555,2969,3003,3007,3010,2595,3064,3087,3105,3106,3110,151,3129,3132,304,3173,3205,3233,3245,3279,3302,3307,714,316,3331,3347,3360,3375,3380,3442,2620,3482,3493,3504,3516,3517,3518,3533,3511,2681,3530,3601,3606,3615,1210,3633,3651,3688,3690,3781,1907,3839,3840,3847,3867,3816,3899,3924,2345,3912,3966,982,4040,4056,4076,4084,4105,2649,4171,3873,1415,3567,4188,4221,4227,4231,2279,4250,4253,770,894,4343,4356,4289,4404,4438,2572,3124,4334,2114,3953,4522,4537,4561,4571,641,4629,4640,4664,4687,4702,4709,4740,4605,4746,4768,3856,3980,4814,2984,4895,4908,1249,4944,4947,4979,4988,4995,32,4066,5043,4956,5069,5072,5076,5084,5085,5137,4262,5152,479,5156,3114,1277,5183,5186,1825,5106,5216,963,5239,5252,5218,5284,1980,1972,5352,5364,5294,5379,5387,5391,5397,5419,5434,5468,5471,3350,5510,5522,5525,5538,5554,5573,5597,5610,5615,5624,842,2851,5641,5655,5656,5658,5678,5682,5696,5699,5709,5728,5753,851,5805,3528,5822,801,5855,2929,5871,5899,5918,5925,5927,5931,5935,5939,5958,778,5971,5980,5300,6009,6023,6030,6032,6016,6110,5009,6155,6197,1760,6253,6267,4886,5608,6289,6308,6311,6321,6316,6333,6244,6070,6349,6353,6186,6357,6366,6386,6387,6389,6399,6411,6421,6432,6437,6465,6302,6493,5602,6511,6529,6536,6170,6557,6561,6577,6581,6590,5290,5649,6231,6275,6635,6651,6652,5929,6692,6693,6695,6705,6711,6723,6738,6752,6753,3629,2975,6790,5845,338,6814,6826,6478,6860,6872,6882,880,356,6897,4102,6910,6611,1030,6934,6936,6987,6984,6999,827,6902,7027,7049,7051,4628,7084,7083,7071,7102,7137,5867,7152,6048,2410,3896,7168,7177,7224,6606,7233,1793,7261,7284,7290,7292,5212,7315,6964,3238,355,1969,4256,448,7325,908,2824,2981,3193,3363,3613,5325,6388,2247,1348,72,131,5414,7285,7343,7349,7362,7372,7381,7410,7418,7443,5512,7470,7487,7497,7516,7277,2622,2863,945,4344,3774,1024,2272,7523,4476,256,5643,3164,7539,7540,7489,1932,7559,7575,7602,7605,7609,7608,7619,7204,7652,7663,6907,7672,7654,7674,7687,7718,7745,1202,4030,7797,7801,7799,2924,7871,7873,7900,7907,7911,7912,7917,7923,7935,8007,8017,7636,8084,8087,3686,8114,8153,8158,8171,8175,8182,8205,8222,8225,8229,8232,8234,8244,8247,7256,8279,6929,8285,7040,8328,707,6773,7949,8468,5759,6344,8509,1635
.
\ No newline at end of file
I5
.
\ No newline at end of file
K.
\ No newline at end of file
((S"Foo"
S"Qux"
S"Bar"
I4
dl.
\ No newline at end of file
I291
.
\ No newline at end of file
M#.
\ No newline at end of file
I74565
.
\ No newline at end of file
F1.23
.
\ No newline at end of file
G?zG.
\ No newline at end of file
L12321231232131231231L
.
\ No newline at end of file
(t.
\ No newline at end of file
).
\ No newline at end of file
(I1
t.
\ No newline at end of file
(Kt.
\ No newline at end of file
K.
\ No newline at end of file
I1
.
\ No newline at end of file
// +build gofuzz
package ogórek
import (
"fmt"
"io/ioutil"
"log"
"testing"
)
// TestFuzzGenerate is not a test - it's a program that puts all tests pickles
// from main tests into fuzz/corpus. It is implemented as test because we need
// *_test.go files to be linked in to get to test data defined there.
//
// It is triggered to be run by go:generate from ogorek_test.go .
func TestFuzzGenerate(t *testing.T) {
for i, test := range tests {
j := 0
for _, pickle := range test.picklev {
if pickle.err != nil {
continue
}
j++
err := ioutil.WriteFile(
fmt.Sprintf("fuzz/corpus/test-%d-%d.pickle", i, j),
[]byte(pickle.data), 0666)
if err != nil {
log.Fatal(err)
}
}
}
}
......@@ -141,7 +141,15 @@ var (
P4_ = PP( 4)
)
// make sure we use test pickles in fuzz corpus
//go:generate go test -tags gofuzz -run TestFuzzGenerate
// tests is the main registry for decode/encode tests.
//
// NOTE whenever you change something here - don't forget to run `go generate`
// to export test pickles to fuzzing corpus.
// XXX or better instead of `go generate`, automatically dump all test pickles
// on every `go test` run?
var tests = []TestEntry{
X("None", None{},
P0_("N.")), // NONE
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment