Joe Ranweiler
e5d66bc191
Make field public ( #852 )
...
Allow consumers to stay consistent with the OneFuzz block coverage report format, but mutate reports if desired.
2021-05-03 16:53:50 -07:00
Joe Ranweiler
78c133433e
Increase field visibility ( #850 )
2021-05-03 14:54:11 -07:00
Joe Ranweiler
146a8b5119
Move PDB functions into own module ( #843 )
...
This does not implement any logic changes, but reorganizes code for easier re-use.
2021-05-03 10:16:00 -07:00
Joe Ranweiler
04aeebdec5
Update pdb
to 0.7 ( #842 )
...
Picks up some small bugfixes and panic removals.
2021-05-03 09:49:37 -07:00
Jason Shirk
f255301425
Ignore inline frames when getting current frame ( #838 )
2021-04-28 14:43:32 -07:00
Joe Ranweiler
d6953fd8be
Separate report serialization from runtime struct ( #837 )
...
- Redefine the coverage report format to be easily extensible
- Introduce a generic `CoverageReport` struct for coverage report serialization
- Implement runtime-recorded block coverage serialization via conversion into the former
2021-04-28 09:25:00 -07:00
Cheick Keita
358d85ef82
fix cli client registration ( #825 )
...
- The CLIClient approle was not assigned to the cli registration created byt he registration.py script
2021-04-26 20:35:34 +00:00
bmc-msft
ced21b2ea3
Add node messages to node get ( #836 )
...
This exposes the node commands that have yet to be processed by the node. Example use case: The SDK can now ask "has this node installed my SSH key"
2021-04-26 16:14:58 -04:00
bmc-msft
541e745199
handle queues vanishing during peek ( #832 )
...
Handle queues getting deleted during peek_queue. This can happen when
polling the pool for work while the pool is getting shut down.
2021-04-26 15:42:40 -04:00
bmc-msft
f4b5c1ae73
when processing node updates, don't wait on the node in cases it should be stopped ( #834 )
...
In situations when the node should be done, mark it as done without
waiting for the node to respond to the Done command.
2021-04-26 15:19:46 -04:00
bmc-msft
fde43a3921
move to Instant.elapsed() instead of time::Sleep timer ( #833 )
...
In current tokio, time::sleep().elapsed does not update unless the Sleep is polled. as such, the execute_pending_commands never fires. This replaces the sleep().elapsed with Instant.elapsed().
2021-04-26 14:39:04 -04:00
bmc-msft
99724b1367
add context to Expand errors ( #835 )
2021-04-26 13:58:24 -04:00
bmc-msft
cf3d904940
address formatting from black 21.4b0 ( #831 )
2021-04-26 12:35:16 -04:00
bmc-msft
b5db1bd3fe
update azure-cli to 2.21.1 ( #821 )
2021-04-26 08:45:26 -04:00
bmc-msft
a09fbcc865
update azure-mgmt-resource to 16.1.0 ( #822 )
2021-04-23 21:58:32 -04:00
bmc-msft
8f2cf865f1
update azure-mgmt-storage to 17.1.0 ( #823 )
2021-04-24 00:33:29 +00:00
bmc-msft
8d2407e458
update azure-storage-queue to 12.1.6 ( #827 )
2021-04-24 00:18:07 +00:00
bmc-msft
e95e4a3591
update azure-storage-blob to 12.8.1 ( #828 )
2021-04-23 20:23:50 +00:00
bmc-msft
e759133287
update third-party rust libraries ( #829 )
2021-04-23 10:04:01 -04:00
bmc-msft
954cdac5ec
update multiple rust dependencies ( #826 )
2021-04-22 10:08:45 -04:00
Joe Ranweiler
c262295f38
Improve usability of coverage types ( #820 )
...
- Weaken argument bounds to `IntoIterator`
- Reduce log level to `debug`
2021-04-20 16:29:01 -07:00
Joe Ranweiler
d8ab1241e3
Add coverage recording to input tester ( #816 )
...
Add a `module_cache` field to the `Tester` struct and ctor (which is not used by OneFuzz). This enables coverage collection when using it to test inputs. Add an optional `coverage` field to the `DebuggerResult` in the `input-tester` crate. This lets users retrieve per-input coverage after testing an input.
2021-04-20 08:46:44 -07:00
Jason Shirk
b9b86f534c
Refactor debugger breakpoint handling ( #790 )
...
Also update `read_memory` api to not return breakpoints we've written.
2021-04-19 13:06:50 -07:00
Cheick Keita
85f606ab6a
refactor SyncDir and blob container url ( #809 )
2021-04-19 17:38:58 +00:00
Joe Ranweiler
8d5a7d1ed5
Add computation of block coverage statistics ( #812 )
2021-04-16 14:43:32 -07:00
bmc-msft
6b634ff455
add additional privilages required to deployment role ( #808 )
2021-04-16 19:27:42 +00:00
Joe Ranweiler
404c12354c
Use u32
to represent module offsets ( #811 )
...
In #765 , we introduced an assumption that all module-relative instruction offsets are representable by a `u32`. Move to an explicit `u32` repr for offsets, and add validation to check for overflow at conversion sites.
2021-04-15 18:15:41 -07:00
Joe Ranweiler
4d86765be3
Simplify handling of OS-sensitive test cases ( #810 )
...
- Add `module!` test helper to let us always define tests paths using POSIX-style paths
- Use `serde_json::json!` macro for maintainable definitions of expected test results
2021-04-15 14:48:08 -07:00
bmc-msft
d9eda00f12
disable expect_crash_on_failure by default in more places ( #807 )
...
dotnet, as well as the _create_tasks helper still used the old default for requiring crash files on libFuzzer exiting non-zero
2021-04-15 20:19:10 +00:00
bmc-msft
c5e0163068
catch VM SKU & VM Image generation mismatch failures ( #803 )
2021-04-14 14:34:12 -04:00
bmc-msft
b599aea5cd
allow extra fields in Events ( #805 )
2021-04-14 13:09:21 -04:00
bmc-msft
c8572cd55a
remove timestamp from WebhookMessageLog model ( #804 )
2021-04-14 12:49:46 -04:00
Cheick Keita
e413aec03d
Upgrade to tokio 1.5.0 ( #800 )
...
Upgrade to tokio 1.5.0
replaced tokio::sync::mpsc:: with [flume ](https://crates.io/crates/flume ) because try_recv was removed
2021-04-14 10:07:28 +00:00
Cheick Keita
3f52f34b6a
Allow the local run to work without copying the synced dirs ( #794 )
...
Added an option to local run to not create a job directory
2021-04-13 23:53:37 +00:00
bmc-msft
627463d94b
only record the first failure if a task has multiple failures ( #797 )
2021-04-13 17:36:56 -04:00
bmc-msft
50ee2abf28
add basic context to every retried request ( #798 )
2021-04-13 17:36:46 -04:00
bmc-msft
5135aa1a27
remove unused import from coverage example ( #799 )
2021-04-13 17:36:36 -04:00
bmc-msft
c570f55088
show task error details in logs ( #802 )
2021-04-13 17:34:15 -04:00
bmc-msft
470e95c833
add Timestamp to multiple models ( #796 )
...
Expose the Azure storage table's "Timestamp" for the models where Timestamp should be user-accessible and remove the Timestamp field from models that did not sign up for it.
The behavior where Timestamp is only set by Azure Storage is kept.
2021-04-13 19:03:25 +00:00
bmc-msft
39464dc606
simplify removing UserInfo from events prior to logging ( #795 )
2021-04-13 15:47:08 +00:00
bmc-msft
46b8bdccbc
add TaskConfig to crash_reported and regression_reported events ( #793 )
...
resolves #757 and #758
2021-04-13 10:24:12 +00:00
Joe Ranweiler
6a817e6c9e
Use dbghelp APIs to find PDB for PE when disassembling ( #779 )
...
- Use default dbghelp user search path
- Add module dir to search path
- Allow reusing existing symbol handler context
2021-04-12 11:37:44 -07:00
bmc-msft
338a803a0d
invert expect_crash_on_failure config option defaults ( #792 )
2021-04-12 14:08:36 -04:00
bmc-msft
542129bd1f
invert the TUI event filter ( #787 )
2021-04-09 19:37:17 -04:00
bmc-msft
ef8e200438
embed coverage debugger scripts ( #783 )
2021-04-09 19:16:41 -04:00
bmc-msft
a91b5aae89
don't remove inputs once processed ( #788 )
2021-04-09 17:41:44 -04:00
bmc-msft
ba009cd30a
combine execs/sec and iteration counts from multiple workers ( #786 )
2021-04-09 17:21:08 -04:00
bmc-msft
030ab4b87f
limit the amount of data recorded from libFuzzer's stderr ( #785 )
2021-04-09 15:44:57 -04:00
bmc-msft
4f6432bdc3
don't refresh system stats when only reporting process stats ( #784 )
2021-04-09 14:12:13 -04:00
Cheick Keita
4086e7695e
Wiring up the UI to the events ( #776 )
...
## Summary of the Pull Request
- The UI now receives the telemetry events
- A new section for the coverage has been added
- All synced dir are now monitored by the UI
- Gracefully exit from the UI
depends on #663
2021-04-09 17:05:48 +00:00