* Add more comprehensive checks and better error messages to area/iteration path validation
* Join invalid chars with space instead of comma
* Make tree path validation more testable
* Add error code for invalid ADO project in config
* Write unit tests for tree path validation
* Format tree path unit tests
* Merge escape character and control character checks and clarify error message
* Fix sed checks for CLI versioning
* Fix.
* Fix.
* Changing build_cli
* Trying greater than
* Tring once more.
* Trying major minor
* trying to replace major minor
* Using major minor
* Starting integration tests
* Ready to test the test
* Parametrize test
* checkpoint
* Test works
* Run integration tests in pipeline
* fmt
* .
* -p
* Install clang
* quotes not required in yaml?
* Hopefully fixed windows?
* Try without killondrop
* lint
* small test
* another test
* Reuse core name
* Wrong step
* bump tokio?
* Try with rust
* make build happy
* Bump pete and small clean up
* Clean up and make the test pass regularly
* fix broken ci
* Lower the poll timeout
* Set the timeout in a nicer way
* fix windows
* fmt
* Include and copy pdbs
* Ignore if pdb is missing on linux
* It takes too long for coverage to be generated
* lint
* Only warn on missing coverage since it's flaky
* Fix windows build
* Small clean up
* Try lowering the poll delay
* fix coverage
* PR comments
* .
* Apparently make is missing?
* Remove aggressive step skipping in CI
* Add field to ado config for checking duplicate work items
* Make duplicate fields nullable and add it to python models
* Update broken tests
* Update docs to include new ado_duplicate_fields property
* Throw exceptoins for missing area/iteration paths
* Comment out feature flag check for work item creation
* Revert "Comment out feature flag check for work item creation"
This reverts commit ad961694535d06ca1f607fe261b3624f36ad1166.
* Add some extra info to the exceptions to distinguish them
* Add logging when a validation error is encountered
* Add call to validate in NotificationsTest for testing
* Fix area and iteration path validation
* Update error messages
* Fix ArgumentNullException
* Add extra information to path check failure
* Request classification nodes with depth equal to number of parts in the path
* Pass tree structure as parameter instead of always using Areas
* Remove '[PAT]' from error messages
* Require project name in Area/IterationPath during validation
* PR comments
* Sneak in a one-line fix for empty comments
* Change context messsage in response from notiifcation test
* Revert the location of the setupFolder
* install llvm version 16.0.6
* print version
* install llvm before building fuzzing tools
* revert changes in the script
* Remove the configuration of the autoscale diagnostic
* only remove the retention policy
* set retention policy to false
* remove settings
* remove retentionPolicy from bicep
* format
* Updating setup.sh
* logger works
* Install omi
* syntax
* Add option to create mariner pool in checkpr
* .
* Need to install sudo
* .
* Include both logging extensions
* Revert because we already isntall the azure monitor for linux extension
* Downgrade type handler version
* Add data collection rules and fuzzing articacts for integration test
* TODOs
* Fix linux jobs getting sent to mariner
* Fix linux jobs going to marienr pool
* Fix pools
* Remove the old logging extension on linux
* try to retain syslog
* Value to be set was not clear
* Trying to route logs
* Maybe we need to specify properties even if we don't set anything
* Start adding a data collection association
* Create association
* update packages.lock
* .
* Remove auto config and add dependency map
* Bring back GCS autoconfig
* Undo DCR stuff
* Undo package version bump
* Fix up files
* Remove TODO
* deserialize the coverage files directly into the output files
* reduce the amount of data structure cloning
individual save function for each formats
* cleanup
* unformatted json
* bring back spawn
* remove stray comment
* build fix
* fix build
Enables capturing crashdumps generated by ASAN at point of failure.
This helps in several ways:
- provides a crash dump in the case that we cannot repro a failure later
- some people have stated that crash dumps would be more useful to their team than the repro VM
- we should be able to use these for automated submission to Watson or similar
---
Crash dumps are automatically collected (for libfuzzer) jobs, if we find any. They should be activated by enabling crash dumps in ASAN, via:
- On Linux: `ASAN_OPTIONS=disable_coredump=0:abort_on_error=1:unmap_shadow_on_exit=1`
- OneFuzz will override the (Ubuntu) crash dump options to generate core dumps instead and then upload them.
- On Windows: `ASAN_SAVE_DUMPS=my_dump.dmp`
- OneFuzz will look for any `*.dmp` files in the working directory and then upload them.
In both cases, the crash dump will be renamed to match the crashing input, if possible, and uploaded to a new `crashdumps` container.
---
Also updated: the “simple” LibFuzzer test has been updated to be compiled with `cl.exe` instead of `clang` on Windows, so that we are exercising the MSVC implementation of ASAN/LibFuzzer, and the CI image has been updated to `windows-2022`. The restriction to an old version of the Windows SDK has been removed.
`windows-rs` is the newer, Microsoft-supported version of the API bindings; `winapi` hasn't been updated in some time. This allows us to remove some code, as `windows-rs` includes the `Sym*` functions that we had to previously defined ourselves in `dbghelp`.
Rather than port the `jobs` and `com` code I removed it, as it was unused.
The `check_hr` and `check_winapi` macros have been replaced by use of `.ok()?` on `BOOL` and `?` on `HRESULT` which now support standard error handling facilities.