Use LibFuzzer/Cluster Fuzz to test Task Queue Manager and Task Queue APIs. Design doc: https://docs.google.com/document/d/1jRk0XAGc1XNIZwEMBIFPWrghuifjtuzohmBmGRXuQ5Q/edit#
Use LibFuzzer/ClusterFuzz to test Task Queue Manager and Task Queue APIs. Design doc: https://docs.google.com/document/d/1jRk0XAGc1XNIZwEMBIFPWrghuifjtuzohmBmGRXuQ5Q/edit#
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b0b6fcb1b40fd75df2befbcc5d55aaf839c0baa9 commit b0b6fcb1b40fd75df2befbcc5d55aaf839c0baa9 Author: Farah Charab <farahcharab@google.com> Date: Thu Jun 14 12:10:45 2018 Scheduler Fuzzer: Describes the grammar of task queue manager fuzzer. Describes the grammar of the v0 task queue manager fuzzer input using a protocol buffer. This grammar describes a test that can test the following interfaces: * Creating a task queue. * Posting a (delayed) task with a given duration. * Doing the above from within a task. Bug: 852076 Change-Id: Ie33637eff3d953c814a7c40185d709a6bfc1f791 Reviewed-on: https://chromium-review.googlesource.com/1097327 Reviewed-by: Alex Clarke <alexclarke@chromium.org> Reviewed-by: Alexander Timin <altimin@chromium.org> Reviewed-by: Sami Kyöstilä <skyostil@chromium.org> Commit-Queue: Farah Charab <farahcharab@chromium.org> Cr-Commit-Position: refs/heads/master@{#567229} [modify] https://crrev.com/b0b6fcb1b40fd75df2befbcc5d55aaf839c0baa9/third_party/blink/renderer/platform/scheduler/BUILD.gn [add] https://crrev.com/b0b6fcb1b40fd75df2befbcc5d55aaf839c0baa9/third_party/blink/renderer/platform/scheduler/base/proto/task_queue_manager_test_description.proto
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b2695df06e09e101a7ba302638978788a715c209 commit b2695df06e09e101a7ba302638978788a715c209 Author: Farah Charab <farahcharab@google.com> Date: Thu Jul 05 17:25:55 2018 Scheduler: Fuzzer for TaskQueueManager V0. Provides support for the following interfaces: - CreateTaskQueue - PostDelayedTask with task duration. - Do the above from within a task. Bug: 852076 Change-Id: I40d6222861f30f70341d5d816d367c5453386fd1 Reviewed-on: https://chromium-review.googlesource.com/1108211 Commit-Queue: Farah Charab <farahcharab@chromium.org> Reviewed-by: Sami Kyöstilä <skyostil@chromium.org> Reviewed-by: Alexander Timin <altimin@chromium.org> Cr-Commit-Position: refs/heads/master@{#572823} [modify] https://crrev.com/b2695df06e09e101a7ba302638978788a715c209/third_party/blink/renderer/platform/BUILD.gn [modify] https://crrev.com/b2695df06e09e101a7ba302638978788a715c209/third_party/blink/renderer/platform/scheduler/BUILD.gn [modify] https://crrev.com/b2695df06e09e101a7ba302638978788a715c209/third_party/blink/renderer/platform/scheduler/DEPS [modify] https://crrev.com/b2695df06e09e101a7ba302638978788a715c209/third_party/blink/renderer/platform/scheduler/base/DEPS [modify] https://crrev.com/b2695df06e09e101a7ba302638978788a715c209/third_party/blink/renderer/platform/scheduler/base/proto/sequence_manager_test_description.proto [add] https://crrev.com/b2695df06e09e101a7ba302638978788a715c209/third_party/blink/renderer/platform/scheduler/base/sequence_manager_fuzzer.cc [add] https://crrev.com/b2695df06e09e101a7ba302638978788a715c209/third_party/blink/renderer/platform/scheduler/base/sequence_manager_fuzzer_processor.cc [add] https://crrev.com/b2695df06e09e101a7ba302638978788a715c209/third_party/blink/renderer/platform/scheduler/base/sequence_manager_fuzzer_processor.h [add] https://crrev.com/b2695df06e09e101a7ba302638978788a715c209/third_party/blink/renderer/platform/scheduler/base/sequence_manager_fuzzer_processor_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5caf6e87273b353fe253812e043ff0cefe598903 commit 5caf6e87273b353fe253812e043ff0cefe598903 Author: Farah Charab <farahcharab@google.com> Date: Tue Jul 10 22:53:56 2018 Scheduler: Generalize entry points in SequenceManagerFuzzer. 1) Modify the entry points in the fuzzer from only posting a task to any other action (defined in the SequenceManagerTestDescription proto). 2) Add support to log actions executed (for unit tests). Bug: 852076 Change-Id: I90641da29e346730057444827438368dcd1d9f56 Reviewed-on: https://chromium-review.googlesource.com/1129226 Commit-Queue: Farah Charab <farahcharab@chromium.org> Reviewed-by: Sami Kyöstilä <skyostil@chromium.org> Reviewed-by: Alexander Timin <altimin@chromium.org> Reviewed-by: Alex Clarke <alexclarke@chromium.org> Cr-Commit-Position: refs/heads/master@{#573964} [modify] https://crrev.com/5caf6e87273b353fe253812e043ff0cefe598903/third_party/blink/renderer/platform/scheduler/base/proto/sequence_manager_test_description.proto [modify] https://crrev.com/5caf6e87273b353fe253812e043ff0cefe598903/third_party/blink/renderer/platform/scheduler/base/sequence_manager_fuzzer_processor.cc [modify] https://crrev.com/5caf6e87273b353fe253812e043ff0cefe598903/third_party/blink/renderer/platform/scheduler/base/sequence_manager_fuzzer_processor.h [modify] https://crrev.com/5caf6e87273b353fe253812e043ff0cefe598903/third_party/blink/renderer/platform/scheduler/base/sequence_manager_fuzzer_processor_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/08b8303cdb8c6e0d355a8e3812c83f51b1a1d887 commit 08b8303cdb8c6e0d355a8e3812c83f51b1a1d887 Author: Farah Charab <farahcharab@google.com> Date: Fri Jul 20 16:02:15 2018 Scheduler: Fuzzer for TaskQueueManager V1. Provides support for the following interfaces: - Change Task Queue Priority. - Enable/Disable Task Queue. - Delete Task Queue. - Cancel a Task. Bug: 852076 Change-Id: Iad0644ef01f5e5524693552ae06584c9327d408c Reviewed-on: https://chromium-review.googlesource.com/1140300 Commit-Queue: Farah Charab <farahcharab@chromium.org> Reviewed-by: Sami Kyöstilä <skyostil@chromium.org> Reviewed-by: Alexander Timin <altimin@chromium.org> Cr-Commit-Position: refs/heads/master@{#576885} [modify] https://crrev.com/08b8303cdb8c6e0d355a8e3812c83f51b1a1d887/third_party/blink/renderer/platform/scheduler/base/proto/sequence_manager_test_description.proto [modify] https://crrev.com/08b8303cdb8c6e0d355a8e3812c83f51b1a1d887/third_party/blink/renderer/platform/scheduler/base/sequence_manager_fuzzer_processor.cc [modify] https://crrev.com/08b8303cdb8c6e0d355a8e3812c83f51b1a1d887/third_party/blink/renderer/platform/scheduler/base/sequence_manager_fuzzer_processor.h [modify] https://crrev.com/08b8303cdb8c6e0d355a8e3812c83f51b1a1d887/third_party/blink/renderer/platform/scheduler/base/sequence_manager_fuzzer_processor_unittest.cc
Issue 427961 has been merged into this issue.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6a6e23cb7044bf8f79abc09343ce92fc2b1f10ef commit 6a6e23cb7044bf8f79abc09343ce92fc2b1f10ef Author: Farah Charab <farahcharab@google.com> Date: Fri Aug 17 19:25:08 2018 SQM Fuzzer: Add support for multi-threading. Adds support to sync the virtual clocks of the various threads created throughout the porgram. This code doesn't include cross-thread posting yet. Bug: 852076 Change-Id: I7936f464f9bfbd35eed3840841c0d8b27c138edc Reviewed-on: https://chromium-review.googlesource.com/1165145 Reviewed-by: Alexander Timin <altimin@chromium.org> Reviewed-by: Sami Kyöstilä <skyostil@chromium.org> Cr-Commit-Position: refs/heads/master@{#584149} [modify] https://crrev.com/6a6e23cb7044bf8f79abc09343ce92fc2b1f10ef/third_party/blink/renderer/platform/scheduler/BUILD.gn [modify] https://crrev.com/6a6e23cb7044bf8f79abc09343ce92fc2b1f10ef/third_party/blink/renderer/platform/scheduler/base/proto/sequence_manager_test_description.proto [modify] https://crrev.com/6a6e23cb7044bf8f79abc09343ce92fc2b1f10ef/third_party/blink/renderer/platform/scheduler/base/sequence_manager_fuzzer.cc [modify] https://crrev.com/6a6e23cb7044bf8f79abc09343ce92fc2b1f10ef/third_party/blink/renderer/platform/scheduler/base/sequence_manager_fuzzer_processor.cc [modify] https://crrev.com/6a6e23cb7044bf8f79abc09343ce92fc2b1f10ef/third_party/blink/renderer/platform/scheduler/base/sequence_manager_fuzzer_processor.h [modify] https://crrev.com/6a6e23cb7044bf8f79abc09343ce92fc2b1f10ef/third_party/blink/renderer/platform/scheduler/base/sequence_manager_fuzzer_processor_unittest.cc [add] https://crrev.com/6a6e23cb7044bf8f79abc09343ce92fc2b1f10ef/third_party/blink/renderer/platform/scheduler/base/simple_thread_impl.cc [add] https://crrev.com/6a6e23cb7044bf8f79abc09343ce92fc2b1f10ef/third_party/blink/renderer/platform/scheduler/base/simple_thread_impl.h [add] https://crrev.com/6a6e23cb7044bf8f79abc09343ce92fc2b1f10ef/third_party/blink/renderer/platform/scheduler/base/thread_data.cc [add] https://crrev.com/6a6e23cb7044bf8f79abc09343ce92fc2b1f10ef/third_party/blink/renderer/platform/scheduler/base/thread_data.h [add] https://crrev.com/6a6e23cb7044bf8f79abc09343ce92fc2b1f10ef/third_party/blink/renderer/platform/scheduler/base/thread_pool_manager.cc [add] https://crrev.com/6a6e23cb7044bf8f79abc09343ce92fc2b1f10ef/third_party/blink/renderer/platform/scheduler/base/thread_pool_manager.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f67097b4acac3a85de15f259ee38295da301802e commit f67097b4acac3a85de15f259ee38295da301802e Author: Farah Charab <farahcharab@google.com> Date: Tue Aug 28 17:06:27 2018 SQM Fuzzer: Add support for cross-thread posting. Bug: 852076 Change-Id: Ifd09780228d512f0016fab62803b9117b3999e6c Reviewed-on: https://chromium-review.googlesource.com/1177716 Commit-Queue: Farah Charab <farahcharab@chromium.org> Reviewed-by: Alexander Timin <altimin@chromium.org> Reviewed-by: Alex Clarke <alexclarke@chromium.org> Cr-Commit-Position: refs/heads/master@{#586756} [modify] https://crrev.com/f67097b4acac3a85de15f259ee38295da301802e/third_party/blink/renderer/platform/scheduler/BUILD.gn [modify] https://crrev.com/f67097b4acac3a85de15f259ee38295da301802e/third_party/blink/renderer/platform/scheduler/test/fuzzer/proto/sequence_manager_test_description.proto [modify] https://crrev.com/f67097b4acac3a85de15f259ee38295da301802e/third_party/blink/renderer/platform/scheduler/test/fuzzer/sequence_manager_fuzzer_processor.h [modify] https://crrev.com/f67097b4acac3a85de15f259ee38295da301802e/third_party/blink/renderer/platform/scheduler/test/fuzzer/sequence_manager_fuzzer_processor_unittest.cc [add] https://crrev.com/f67097b4acac3a85de15f259ee38295da301802e/third_party/blink/renderer/platform/scheduler/test/fuzzer/task_queue_with_voters.h [modify] https://crrev.com/f67097b4acac3a85de15f259ee38295da301802e/third_party/blink/renderer/platform/scheduler/test/fuzzer/thread_manager.cc [modify] https://crrev.com/f67097b4acac3a85de15f259ee38295da301802e/third_party/blink/renderer/platform/scheduler/test/fuzzer/thread_manager.h [modify] https://crrev.com/f67097b4acac3a85de15f259ee38295da301802e/third_party/blink/renderer/platform/scheduler/test/fuzzer/thread_pool_manager.cc [modify] https://crrev.com/f67097b4acac3a85de15f259ee38295da301802e/third_party/blink/renderer/platform/scheduler/test/fuzzer/thread_pool_manager.h
Setting defect without priority to Pri-2.
Comment 1 by farahcharab@chromium.org
, Jun 12 2018