Commit Graph
8 Commits
Author SHA1 Message Date
Mina Farid b5afc6b522 Run fuzzing as a travis cron job (#1662)
* Added fuzzing script to run all fuzzing targets on cron jobs.
* Added travis fuzzing script and `FUZZING_DURATION` to control fuzzing time.
* Given a total fuzzing duration, select 1 target to run for half of
  the duration, and divide the remaining duration over the rest of
  targets equally.
2018-08-16 18:20:08 -04:00
Mina Farid 31f6f804c5 Added fuzz testing target: FIRFieldPath (#1575)
* Added `FIELDPATH` to the list of available fuzzing targets.
* Added fuzzing method for creating `FIRFieldPath` objects.
* Added corpus and dictionary for `FIRFieldPath`.
2018-07-27 15:25:13 -04:00
Mina Farid 143c36c232 Fuzz testing refactoring (#1563)
* Added fuzzing targets read from env variable.
* Refactored Serializer fuzz tests in a separate file
* Separate header file for each fuzzing target.
* Write crashing outputs using `artifact_prefix` flag to `NSTemporaryDirectory`.
2018-07-23 09:55:32 -04:00
Mina Farid ab8ec2d725 Multiple fuzz testing targets (#1550)
* Read fuzzing target `FUZZING_TARGET` environment variable.
2018-07-19 17:02:02 -04:00
Mina Farid 730780faf4 Fuzz testing Serializer with a dictionary and corpus (#1513)
Added functionality to read dictionary file and seed input corpus from bundle
2018-07-13 15:02:48 -04:00
Mina Farid 37edbc694d Fuzz test Serializer to decode FieldValue (#1485) 2018-07-03 13:40:50 -04:00
Mina Farid f5bf0a37a7 Fuzz testing Header Search Paths settings (#1395)
* Modified `HEADER_SEARCH_PATHS` in the project file.
2018-06-11 17:23:07 -04:00
Mina Farid a135ee1717 Add a new Xcode target and scheme for fuzz tests (#1364)
Created `Firestore_FuzzTests_iOS` Xcode target as a duplicate of the target
  `Firestore_Tests_iOS`.
    - Added `-fsanitize-coverage=trace-pc-guard` to the compiler flags to enable
      code coverage by libFuzzer fuzzing driver.
    - Modified the files to compile to the fuzz testing ones.
    - Added a Principal testing class.
* Modified the `Podfile` to include `LibFuzzer.podspec` as a dependency for
  the target `Firestore_FuzzTests_iOS`.
* Added a skeleton for fuzz testing. Currently does not test any code but
  the fuzzing works fine and calls an empty `LLVMFuzzerTestOneInput`
  with different input values.
    - This means that fuzzing does not finish or crash.
2018-06-04 14:36:55 -04:00