These projects were tested and it was found that their use
of MSAN does not work on Ubuntu 20.04. Therefore their use of
MSAN is being disabled.
Related: #6180
This got a bit messy as a change, but it's basically all that topic. I
had to go squint at python3-libraries to figure out the modern
incantation for getting python3 to build under the fuzzer, but victory
is mine and this is probably substantially cleaner.
* [presubmit] Enforce language attribute in projectt.yaml to be always set.
* Update documentation, better presubmit check, new project template.
* add docstring to templates.py
* Add example values in the project.yaml template and remove python value for now
* Add "project: c++" to 256 projects
* format
* Add labels and selective_unpack sections to the presubmit check
* fix incorrect auto_ccs format in three projects
* fix nss emails after rebase
This will clean up the Makefile on the hg side considerably, and will
also fix the coverage build. Fixes#2076.
Bonus: I did some extra work in build.sh so that incremental rebuilds
of the fuzzers won't needlessly recompile $OUT/sanpy, shortening
development time on new fuzzers and avoiding issues caused by a $OUT
that was built for a different fuzz configuration.
The cpython patch is derived from the work done in
https://bugs.python.org/issue35214 by Greg Smith. It's required to
unblock msan builds on Python 2.7. Once upstream cpython 3 is fixed to
support msan builds, we should probably move to fuzzing under Python 3
instead of Python 2.
I'll wait to enable msan builds until the associated fixes in hg core
land, since I'm not sure when that will happen.
Our new fuzzer requires CPython, and I'm getting extremely
confusing (and implausible-looking based on reading of CPython source)
msan issues, so let's disable msan for this project for now.