These 32 commits are when the Protocol Buffers files have changed:
Commit: | 429d46c | |
---|---|---|
Author: | László Szekeres | |
Committer: | Copybara-Service |
Change `centipede` namespace to `fuzztest::internal` (no functional change). PiperOrigin-RevId: 745605983
The documentation is generated from this commit.
Commit: | b35469f | |
---|---|---|
Author: | Hadi Ravanbakhsh | |
Committer: | Copybara-Service |
Avoid initializing infinitely recursive sub-fields. Given that sub-fields may not get initialized in the smoke-test, it could be unexpected for users to encounter this issue during fuzzing. Instead of producing a failure, we produce a warning and avoid initializing them. In addition, the recursion loops are detected over fields and not protos because the customizations are done over fields and two fields of same type could have different customizations, which can affect the recursion analysis. PiperOrigin-RevId: 726556282
Commit: | 5dc1f1e | |
---|---|---|
Author: | Filip Niksic | |
Committer: | Copybara-Service |
Fix a flaky end-to-end test `UnitTestModeTest.ProtobufOfMutatesTheProto`. PiperOrigin-RevId: 676887028
Commit: | a29e31c | |
---|---|---|
Author: | Xinhao Yuan | |
Committer: | Copybara-Service |
#Centipede Split the protobuf-related dependencies out from the core runtime. This is to avoid involving protobuf in fuzzers so it can be used in consumer projects that have specific constraints for protobuf. PiperOrigin-RevId: 669419511
Commit: | ff36d85 | |
---|---|---|
Author: | Xinhao Yuan | |
Committer: | Copybara-Service |
No public description PiperOrigin-RevId: 668035717
Commit: | 05f1afb | |
---|---|---|
Author: | Markus Kusano | |
Committer: | Copybara-Service |
#Centipede Add support for directly passing a corpus shard in a SeedCorpusSource PiperOrigin-RevId: 647474909
Commit: | 951aada | |
---|---|---|
Author: | FuzzTest Team | |
Committer: | Copybara-Service |
No public description PiperOrigin-RevId: 617257551
Commit: | 12dfa72 | |
---|---|---|
Author: | Hadi Ravanbakhsh | |
Committer: | Copybara-Service |
No public description PiperOrigin-RevId: 616849387
Commit: | ed902e4 | |
---|---|---|
Author: | Filip Niksic | |
Committer: | Copybara-Service |
Add a variant of the Maze puzzle with doors and keys along the way. PiperOrigin-RevId: 616840381
Commit: | 0239500 | |
---|---|---|
Author: | Hadi Ravanbakhsh | |
Committer: | Copybara-Service |
No public description PiperOrigin-RevId: 616830147
Commit: | 6a7245c | |
---|---|---|
Author: | FuzzTest Team | |
Committer: | Copybara-Service |
No public description PiperOrigin-RevId: 615517628
Commit: | 393ae75 | |
---|---|---|
Author: | FuzzTest Team | |
Committer: | Copybara-Service |
Add a graph reachability puzzle. PiperOrigin-RevId: 615341103
Commit: | bbed20c | |
---|---|---|
Author: | László Szekeres | |
Committer: | Copybara-Service |
Add maze puzzle. PiperOrigin-RevId: 615195474
Commit: | 3c5fc52 | |
---|---|---|
Author: | FuzzTest Team | |
Committer: | Copybara-Service |
Add web search proto puzzle. PiperOrigin-RevId: 608660172
Commit: | c213d41 | |
---|---|---|
Author: | Markus Kusano | |
Committer: | Copybara-Service |
Add variants of string proto puzzles using a simpler input proto. PiperOrigin-RevId: 606714492
Commit: | b67bf91 | |
---|---|---|
Author: | Markus Kusano | |
Committer: | Copybara-Service |
Add Robo Courier proto puzzle PiperOrigin-RevId: 606406024
Commit: | 87845fe | |
---|---|---|
Author: | Markus Kusano | |
Committer: | Copybara-Service |
Add puzzle evaluating a 4 function calculator operation. PiperOrigin-RevId: 606401157
Commit: | ad41f7a | |
---|---|---|
Author: | Markus Kusano | |
Committer: | Copybara-Service |
Add puzzle using a proto with a switch statement used in a loop (state machine). PiperOrigin-RevId: 606400746
Commit: | 6608add | |
---|---|---|
Author: | FuzzTest Team | |
Committer: | Copybara-Service |
Save --analyze coverage information to a proto PiperOrigin-RevId: 561133459
Commit: | 920ce48 | |
---|---|---|
Author: | Sergey Shevchenko | |
Committer: | Copybara-Service |
#Centipede Define proto to configure seed corpus generation Example: ``` # Self-seed from 5 completed previous iterations. sources: { dir_glob: "./centipede/run_*.fuzzed" # ".fuzzed" picks up completed dirs only shard_rel_glob: "distilled*.*" num_recent_dirs: 5 fraction: 0.5 } # Mix in 10% of the latest Simics iteration (even an active one). sources: { dir_glob: "/cns/iq-d/home/platforms-sdc-silifuzz/corpus/pipeline/simics.default.self/run_*" # no ".fuzzed" picks up everything shard_rel_glob: "corpus*.*" # use running corpus.* shards, not distilled*.* num_recent_dirs: 1 fraction: 0.1 } # Also mix in 2000 elements from 2 previous Unicorn iterations. sources: { dir_glob: "/cns/iq-d/home/platforms-sdc-silifuzz/corpus/pipeline/unicorn_x86_64.default.self/run_*" shard_rel_glob: "distilled*.*" num_recent_dirs: 2 count: 2000 } # Write the result to `<.pb's parent dir>/centipede` destination: { dir_path: "./centipede" shard_rel_glob: "corpus.*" shard_index_digits: 6 num_shards: 4 } ``` PiperOrigin-RevId: 557682202
Commit: | 0f0adb7 | |
---|---|---|
Author: | Yongheng Chen | |
Committer: | Copybara-Service |
No public description PiperOrigin-RevId: 554371233
Commit: | d69f326 | |
---|---|---|
Author: | Yongheng Chen | |
Committer: | Copybara-Service |
No public description PiperOrigin-RevId: 552932557
Commit: | 0087fe0 | |
---|---|---|
Author: | Hadi Ravanbakhsh | |
Committer: | Copybara-Service |
Add full support for known extension fields. Serialization and parsing extension fields were supported before. Other missing capabilities including corpus validation, domain initialization, domain mutation, domain customization, and recursion detection are added. PiperOrigin-RevId: 551832440
Commit: | 3dbb0bc | |
---|---|---|
Author: | Hadi Ravanbakhsh | |
Committer: | Copybara-Service |
Add full support for known extension fields. Serialization and parsing extension fields were supported before. Other missing capabilities including corpus validation, domain initialization, domain mutation, domain customization, and recursion detection are added. PiperOrigin-RevId: 548714204
Commit: | af8c735 | |
---|---|---|
Author: | Hadi Ravanbakhsh | |
Committer: | Copybara-Service |
Add full support for known extension fields. Serialization and parsing extension fields were supported before. Other missing capabilities including corpus validation, domain initialization, domain mutation, domain customization, and recursion detection are added. PiperOrigin-RevId: 548676590
Commit: | 1af1306 | |
---|---|---|
Author: | Todd Lipcon | |
Committer: | Copybara-Service |
Internal change PiperOrigin-RevId: 526122507
Commit: | 7fcea31 | |
---|---|---|
Author: | László Szekeres | |
Committer: | Copybara-Service |
Readability improvements. - Document Domain concept. - Make the following renames: GetValue() -> CorpusToUserValue() FromValue() -> UserToCorpusValue() SerializeCorpus() -> CorpusToIrValue() ParseCorpus() -> IrToCorpusValue() T -> UserValueT CorpusType -> CorpusValueT IRObject -> IrValue value_type -> user_value_t corpus_type -> corpus_value_t value_type_t<> -> user_value_t_of<> corpus_type_t<> -> corpus_value_t_of<> GenericDomainCorpusType -> GenericCorpusValue RequireCustomCorpusType -> RequireCustomCorpusValueT PiperOrigin-RevId: 526091807
Commit: | 58b4e70 | |
---|---|---|
Author: | Hadi Ravanbakhsh | |
Committer: | Copybara-Service |
Set nullness of oneof fields when nullness is not defined explicitely. As a side-effect, WithOneofAlwaysSet needs to be called before customizing oneof fields. PiperOrigin-RevId: 505196838
Commit: | d550948 | |
---|---|---|
Author: | Hadi Ravanbakhsh | |
Committer: | Copybara-Service |
Detects recursions through oneofs. PiperOrigin-RevId: 503220736
Commit: | 6036085 | |
---|---|---|
Author: | Filip Niksic | |
Committer: | Copybara-Service |
Fix the flaky test ProtocolBuffer.ArbitraryWithRequiredHasAllMutations. The test was flaky due to repeated and map fields in TestProtobufWithRequired, which were bloating the proto after repeated mutation and reducing the chance of mutating the fields that were interesting for the test. To fix the test, I: - Removed the map field `map_str`, which was not used in any way. - Broke the test into multiple tests that each test a single behavior. For example, there's now a dedicated test to check that an optional field is eventually unset. In that test we can restrict the proto domain by leaving all repeated, map, and other optional fields unset in order to limit the total number of fields and maximize the probability that the desired field gets unset. With this, we only need 11000 iterations to guarantee that the test will almost always succeed, whereas if we left the test unbroken, we would have needed 36000 iterations for the same guarantee, risking flakiness due to timeouts. PiperOrigin-RevId: 502625815
Commit: | 9ffe366 | |
---|---|---|
Author: | Hadi Ravanbakhsh | |
Committer: | Copybara-Service |
Fixes map field issues with required fields. There are two issues with the required fields, which are addressed here: (1) Map field values could be messages with required fields. We treat map field values that are messages as required. This way, we make sure the `value` is initialized while the message itself could be empty. (2) There could be required fields next to map fields. To address this, we fix serialization-deserialization of map fields to remove duplicates. `corpus_copy` contains only one field (a map field) which goes through a mutation. So, the serialization should be done partially and we should not be worried about other required fields. PiperOrigin-RevId: 499842705
Commit: | 658be28 | |
---|---|---|
Author: | FuzzTest Team | |
Committer: | Filip Niksic |
Internal change PiperOrigin-RevId: 473826475