elalish / manifold

Geometry library for topological robustness
Apache License 2.0
870 stars 94 forks source link

more fuzz tests #667

Open pca006132 opened 10 months ago

pca006132 commented 10 months ago

We only have tests for the triangulator, and the test is only checking for segfault/memory corruption and infinite loops. We should add more tests.

  1. [ ] Add tests for the triangulator with valid polygons.
  2. [ ] Add tests for CSG.

CSG can be fuzzed with a simple grammar.

pca006132 commented 6 months ago

probably good dataset: https://ten-thousand-models.appspot.com/results.html?q=is+manifold%2C+is+oriented%2C+with+degenerate

elalish commented 6 months ago

@dasoya - regarding your GSoC proposal, would you be up for writing a short introductory PR so we can get to know you better?

dasoya commented 6 months ago

Dear Emmett Lalish,

Thank you for considering my proposal.

I am passionate about working in the entertainment industry, such as digital fashion using computer graphics. During my internship with NCsoft's Digital Human team, I utilized C++ in Unreal Engine and TensorFlow to develop 3D modeling AI. I developed games and had the opportunity to be a PM and lead the release. My strength is that I take responsibility and get things done. My technical skills include implementing ray tracing using C++ based on OpenGL. I have a strong interest in the technology that Manifold implements and am willing to make improvements where needed.

Thank you for your consideration,

Kind regards Daso Jung.

2024년 4월 17일 (수) 오전 2:13, Emmett Lalish @.***>님이 작성:

@dasoya https://github.com/dasoya - regarding your GSoC proposal, would you be up for writing a short introductory PR so we can get to know you better?

— Reply to this email directly, view it on GitHub https://github.com/elalish/manifold/issues/667#issuecomment-2059565198, or unsubscribe https://github.com/notifications/unsubscribe-auth/AP2YNTCEAFUHL3JQH7TVTBLY5VL45AVCNFSM6AAAAABA4RUDBSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANJZGU3DKMJZHA . You are receiving this because you were mentioned.Message ID: @.***>

elalish commented 6 months ago

@dasoya That's wonderful, and we'd certainly appreciate your contributions! From the GSoC side, they're much more willing to accept those who have demonstrated successful contribution to the code base. If you'd be willing to open a simple PR we can review and merge, it'll go a long way. If you're not sure where to start, a simple task we've been meaning to get around to is splitting our tests into more files - there are so many now that the granularity is much too coarse. If you'd like to take a stab at organizing some of them a bit, we'd certainly appreciate it.

dasoya commented 6 months ago

Thank you for your suggestion. I’ll try to contribute to the code base!

Daso Jung

On Thu 18. Apr 2024 at 00:53, Emmett Lalish @.***> wrote:

@dasoya https://github.com/dasoya That's wonderful, and we'd certainly appreciate your contributions! From the GSoC side, they're much more willing to accept those who have demonstrated successful contribution to the code base. If you'd be willing to open a simple PR we can review and merge, it'll go a long way. If you're not sure where to start, a simple task we've been meaning to get around to is splitting our tests into more files - there are so many now that the granularity is much too coarse. If you'd like to take a stab at organizing some of them a bit, we'd certainly appreciate it.

— Reply to this email directly, view it on GitHub https://github.com/elalish/manifold/issues/667#issuecomment-2061626634, or unsubscribe https://github.com/notifications/unsubscribe-auth/AP2YNTHP4TAQ633DPXTGIPTY52LGJAVCNFSM6AAAAABA4RUDBSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANRRGYZDMNRTGQ . You are receiving this because you were mentioned.Message ID: @.***>

dasoya commented 5 months ago

@elalish As you suggested, I thought boolean_test.cpp has high complexity, so I divided it into two files. I'm going to make additional boolean tests in the complex_boolen_test.cpp or new fuzz test file.

https://github.com/elalish/manifold/compare/master...dasoya:manifold:boolean_fuzz

Is this the right way? Let me know what you think.

elalish commented 5 months ago

Yes, that's a great start - go ahead and open a PR. It's always best to have many, smaller PRs anyway, and it gives us a good place to discuss.