-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add fuzzing tests #83
Comments
Hi, @pca006132 I am a senior college student in EWHA. I am interested in this project. I am new in using fuzz test but I implemented some graphics feature like ray tracing in OpenGL using C++. I looked up your fuzz test implementations for the triangulator here In this case, you've implemented tests for segfault/ memory corruption and infinite loops. I'm wondering if the CSG test is also designed to check whether the process of creating the AST can cause segmentation faults. Additionally, I want to know if you've implemented any other fuzz test modules that I could use as a reference. I'm also interested in learning how CSG operations work. Thank you in advance for your suggestions. |
Creating the AST should not cause segfault, but converting the AST to actual CSG operations, i.e. interpreting the AST, can cause segfault. And no, |
Changed to lazy because we only have to do csg tree fuzzing now. |
Hello, I am a junior engineer with experience in CAD and Graphics programmer https://github.com/GraphiteEditor/Graphite/pulls?q=author%3Amoosama76+state%3Amerged I am interested in this project because I'll be doing mandatory military service and can't propose to larger projects |
Outline
Add more fuzzing tests for both 2D and 3D operations.
Details
Fuzzing is an effective technique to expose bugs in software. Fuzzing tests randomly generate structured inputs (according to specification), and test if the program crashes/failed assertions.
This project aims to test 2D and 3D CSG operations on geometrically valid polygons/meshes. To do this, we will define a very simple AST for our CSG operations, and use the recursive domain feature of fuzztest for the tests.
We will also randomly apply slight perturbation to make the valid geometry only epsilon-valid, to test for robustness of the algorithm.
Expected Outcome
Fuzz tests that test for union, intersection, difference, 2D extrude/revolve, etc.
Project Properties
Skills
Difficulty
Size
Additional Information
The text was updated successfully, but these errors were encountered: