Commit Graph
74 Commits
Author SHA1 Message Date
Petteri Aimonen adb8b66c62 Add script for updating fuzztest corpus from oss-fuzz. 2020-08-13 11:50:26 +03:00
Petteri Aimonen c571d7e88d fuzztest_ioerrors: Combine test cases to improve performance.
This way the io error test will crash on either out of memory or
stream io error, whichever occurs first.
2020-08-13 11:03:59 +03:00
Petteri Aimonen 803c4f7acd Update alltypes dependent testcases 2020-08-13 08:59:26 +03:00
Petteri Aimonen 918dc7eec1 Fuzztest: run whole corpus for non-embedded targets.
This is a tradeoff between test time and test coverage.
After consideration, I've decided it is better to catch
potential problems earlier even though it increases test
time by ~15 seconds.
2020-08-10 12:21:48 +03:00
Petteri Aimonen ddda911ff1 Fuzztest: speed up io errors test case 2020-08-10 11:20:13 +03:00
Petteri Aimonen 95bf7d2ef8 Add forgotten file 2020-08-09 17:53:15 +03:00
Petteri Aimonen 66fcf11ef6 Always fuzz the whole set of past crashing cases 2020-08-09 17:50:23 +03:00
Petteri Aimonen 0ed1e01727 Further build fix 2020-08-09 17:28:34 +03:00
Petteri Aimonen 648eeb6423 Fix AVR build failure in fuzztest 2020-08-09 17:24:12 +03:00
Petteri Aimonen d528514e45 fuzztest: Fix build failure on Windows 2020-08-08 08:19:23 +03:00
Petteri Aimonen dbcae7e284 Update fuzztest corpus 2020-08-07 21:06:51 +03:00
Petteri Aimonen 5ee87db566 Fuzztest: clean up compiler warnings 2020-08-07 13:50:46 +03:00
Petteri Aimonen 06c751665f Build separate fuzzer test cases. 2020-08-07 13:27:25 +03:00
Petteri Aimonen a70b9903fb Fuzztest: allow selective enabling of single test cases 2020-08-03 12:01:58 +03:00
Petteri Aimonen e766ef6715 fuzztest: compiler warning fixes 2020-06-24 13:17:50 +03:00
Petteri Aimonen 367c9891e4 Reduce number of fuzztest iterations to speed up tests.
Through repeated runs, it will still get the same coverage.
And the OSSBuild fuzz infrastructure has much more CPU power anyway.
2020-06-03 11:26:47 +03:00
Petteri Aimonen f057f61f71 Fuzztest: don't assert when re-encoding fills up the buffer.
Turns out the special case for 0-length input for fixed length bytes
field can cause a quite large message expansion on re-encode. The
assertion is not very useful for finding actual bugs, so this silences
it to avoid it disturbing fuzzing.
2020-03-14 11:35:11 +02:00
Petteri Aimonen 3d45294027 Fix build error in fuzztest 2020-02-02 11:13:21 +02:00
Petteri Aimonen 983f80f2fd Speed up fuzztest corpus run on embedded targets 2020-02-02 11:06:09 +02:00
Petteri Aimonen 08b8c145d2 Avoid compiler warning in fuzztest 2020-02-01 21:21:10 +02:00
Petteri Aimonen 92e37ba2e1 Make fuzz test also check under low memory conditions. 2020-02-01 20:12:30 +02:00
Petteri Aimonen b2ce24fed6 Update fuzztest corpus 2020-02-01 20:12:30 +02:00
Petteri Aimonen e26928d8a1 Try to fix fuzztest issue on Windows.
The buffer length was a bit small so most of the corpus
messages wouldn't fit in it, causing pipe write to hang
until the process exited.
2020-02-01 15:35:37 +02:00
Petteri Aimonen 34bfb2d85f Try to troubleshoot fuzz test error on Windows
Seems to be somehow environment dependent, as it
only crashes with "Invalid argument" when run from
the Jenkins job.
2020-02-01 12:09:19 +02:00
Petteri Aimonen 0de644acc0 Fuzztest: reduce memory usage (for AVR) 2020-01-19 21:34:05 +02:00
Petteri Aimonen dae4d51168 Run fuzz tester against corpus from ossfuzz 2020-01-17 08:05:53 +02:00
Petteri Aimonen d89cd1e3f9 Fuzztest: fix spurious assert due to extension fields 2020-01-16 15:40:03 +02:00
Petteri Aimonen e8088bfad6 Fuzztest: include extension field in generate_message 2020-01-16 12:41:03 +02:00
Petteri Aimonen 66de93f7ff Fix error in fuzztest with oneofs 2020-01-16 12:04:34 +02:00
Petteri Aimonen 08dda7d1fe Fix error in fuzztest for fixed size arrays 2020-01-16 11:52:22 +02:00
Petteri Aimonen bdf3699adb Add more extensive validation as part of fuzz test.
This should help detect errors such as invalid pointer in decoded structure.
2020-01-16 11:38:12 +02:00
Petteri Aimonen 776244f065 Fix error in fuzztest generate_message 2020-01-15 13:42:33 +02:00
Petteri Aimonen 33ca5c7b99 Fix errors in fuzztest testcase 2020-01-13 16:23:51 +02:00
Petteri Aimonen 2117c51aee Fuzztest: add missing file 2020-01-13 13:47:33 +02:00
Petteri Aimonen c0d3d423cd AllTypes testcase: add test for integer_size option. 2020-01-13 13:32:58 +02:00
Petteri Aimonen de4d0f51f7 Fuzztest: include callback fields in test 2020-01-13 13:01:08 +02:00
Petteri Aimonen 0416d49e4f Fuzztest: test pb_decode_ex flags 2020-01-13 12:40:50 +02:00
Petteri Aimonen 892bfd417a Test also stream input in fuzz test. 2020-01-13 12:15:21 +02:00
Petteri Aimonen e3b897bb80 Fuzztest: test extensions 2020-01-13 11:49:16 +02:00
Petteri Aimonen 89c1fa2507 Refactor fuzztest 2020-01-13 11:32:24 +02:00
Petteri Aimonen 0eba41f7f2 Fix descriptorsize option not getting applied in fuzztest due to package name 2020-01-09 11:01:14 +02:00
Petteri Aimonen 84c9a1ce38 Fix assert in fuzztest due to input expansion. 2020-01-06 17:13:02 +02:00
Petteri Aimonen 7d833c2470 Update alltypes.options in dependent test cases 2020-01-06 11:43:46 +02:00
Petteri Aimonen 561b085eb7 Fix fuzztest build for AVR 2020-01-02 16:36:52 +02:00
Petteri Aimonen 625e8a5881 Include proto3 messages in fuzztest. 2020-01-02 12:42:00 +02:00
Petteri Aimonen 9af4b46654 Hide fuzztest progress messages in normal test runs 2020-01-02 11:05:04 +02:00
Petteri Aimonen 87a53645f7 Switch to xorshift32 for fuzztest
Handling 64-bit seed values got annoying on AVR, and 32-bit
generator is enough for this test.
2019-12-31 13:13:18 +02:00
Petteri Aimonen 460d426aec More descriptive errors from AVR test cases 2019-12-31 11:30:26 +02:00
Petteri Aimonen 030ae0477f Reduce memory usage in fuzztest for AVR. 2019-12-31 10:28:12 +02:00
Petteri Aimonen 96bf1fec3c Update dependent test cases for new tag number in AllTypes 2019-12-29 16:41:52 +02:00