Commit Graph

17 Commits

Author SHA1 Message Date
DavidKorczynski a2d4f9bbdf
vscode: project gen: adjust CXXFLAGS for cpp builds (#11412)
Currently `CFLAGS` was used, whereas we need to use `CXXFLAGS`.

Signed-off-by: David Korczynski <david@adalogics.com>
2023-12-27 11:06:35 +00:00
DavidKorczynski cb77b5bdba
vscode: set lang to cpp if header-only lib (#11400)
Signed-off-by: David Korczynski <david@adalogics.com>
2023-12-23 11:07:37 +00:00
DavidKorczynski 81f3895980
vscode: ClusterFuzzLight: enable C and Python (#11395)
Signed-off-by: David Korczynski <david@adalogics.com>
2023-12-21 18:50:31 +00:00
DavidKorczynski 8053865bf4
vscode: refactor CFLite integration (#11394)
Deduplicates a lot of the template generation.

Signed-off-by: David Korczynski <david@adalogics.com>
2023-12-21 18:05:36 +00:00
DavidKorczynski f3d1d4471f
vscode: add cc file extension count and beautify cflite project.yaml (#11393)
Signed-off-by: David Korczynski <david@adalogics.com>
2023-12-21 16:33:57 +00:00
DavidKorczynski 06bc8ea716
vscode: fix bugs and add CFLite .yml generation (#11375)
Also adds such that files are only generated in the CFLite set up if
they don't already exist.

Signed-off-by: David Korczynski <david@adalogics.com>
2023-12-18 12:49:00 +00:00
DavidKorczynski e4b956bcb4
vscode: refine various places (#11370)
- prefixes CFLite generate command
- Removes licenses from Dockerfile/Build in CFLite mode -- the rational
is that users will likely not want to use those license in their own
code base, and they are not needed as the code won't be put in
OSS-Fuzz's repo.
- Removes unused fields from `project.yaml` -- these are not relevant in
CFLite

---------

Signed-off-by: David Korczynski <david@adalogics.com>
2023-12-16 22:36:39 +00:00
DavidKorczynski 71b3af80a4
vscode: enable CFLite generator for Python (#11367)
Signed-off-by: David Korczynski <david@adalogics.com>
2023-12-15 12:33:29 +00:00
DavidKorczynski 6bcb160328
vscode: add CFLite helper for C++ (#11364)
Adds helpers to:
- Generate files needed for a CFLite set up (the content of
`.clusterfuzzlite`, not the GH workflow)
- Test fuzzers in a CFLite set up

Only CPP support for now.

Follow-up PRs will:
- Add support for the rest of the languages
- Add support for code coverage generation
- Add support for yaml generation.

Signed-off-by: David Korczynski <david@adalogics.com>
2023-12-14 22:34:12 +00:00
DavidKorczynski 4d3f9bd3a9
vscode: fix typo (#11274)
Signed-off-by: David Korczynski <david@adalogics.com>
2023-11-27 22:44:45 +00:00
DavidKorczynski 3bd31fafbb
vscode: add status text to testFuzzerCmd (#11264)
Signed-off-by: David Korczynski <david@adalogics.com>
2023-11-24 23:17:29 +00:00
DavidKorczynski 7c0394e93a
vscode: clean-up command interface (#11263)
Also changes the use of `.c++` to `.cpp` suffix for CPP template
creation

---------

Signed-off-by: David Korczynski <david@adalogics.com>
2023-11-24 22:34:29 +00:00
DavidKorczynski b811d66a03
vscode: extend project template creation (#11232)
Adds template creation support for C, C++ and Java

Signed-off-by: David Korczynski <david@adalogics.com>
2023-11-16 15:50:02 +00:00
DavidKorczynski 1bdc471a2f
vscode: add status bar updates (#11091)
Set notifications at bottom of VSCode to indicate progress in commands
that have a lot of steps.

Signed-off-by: David Korczynski <david@adalogics.com>
2023-10-07 18:45:27 +01:00
DavidKorczynski 2b1ea1d5cc
vscode: add comparison of local vs remote coverage (#11085)
Extends the command that runs a full build-fuzzers; run-fuzzers; collect
code coverage; to also now do a comparison of the local code coverage to
the code coverage by Clusterfuzz. Any gains are highlighted.

---------

Signed-off-by: David Korczynski <david@adalogics.com>
2023-10-07 12:49:00 +01:00
DavidKorczynski 56a4938bed
vscode: update package name and refine logging (#11083)
Signed-off-by: David Korczynski <david@adalogics.com>
2023-10-06 14:21:54 +01:00
DavidKorczynski 07b80397c5
infra: add vscode extension poc (#10592)
Add initial layout or a vscode extension.

Several commands included in the extension, including commands for
- oss-fuzz initialization
- creating new project integrations
- generating coverage reports
- building projects from arbitrary locations in the filesystem
- reproducing crashes easily
- instant CIFuzz integration
- creating fuzzing templates for rapid prototyping
- ...

Many ideas can be put into the vscode extension, for example:
- support some form of e.g. sync with introspector.oss-fuzz.com -- for
example where the plugin will check "has progress been made relative to
what is currently at oss-fuzz". We could extend `helper.py` with some
form of command called "check_progress` which will run a small build
pipeline + coverage and check if the coverage performs better than what
is currently achieved. I think there's more to explore in this space.
- connect to auto-fuzz:
https://github.com/ossf/fuzz-introspector/tree/main/tools/auto-fuzz
- in general improve the extension UI, as currently it's only based on
commands.

---------

Signed-off-by: David Korczynski <david@adalogics.com>
2023-08-28 10:51:45 +01:00