GSoC 2021: Core Library Tests

Hello my name is Lefteris, i am a 3rd year CS student in Greece. I am interested in the Core Library Tests project for GSoC. I am experienced in C/C++ (and some Python) but the only experience i have with graphics programming is a 2D chess i made with SFML/C++. If i am not suitable for the specific project, i am still interested in taking part in some other project idea with Blender.

However i am not so sure what my next step should be before i try to apply for GSoC. I need some guidance if possible, i have not yet taken a look at Blender’s code, and i do not know how much do i need to know of the code to take part in the project.

3 Likes

However i am not so sure what my next step should be before i try to apply for GSoC.

I don’t know if you’d want to not apply if you complete the steps mentioned below (which are personal opinions, and not a requirement). They’ll take time to do. These will prepare you enough before the project starts in June.

These can be done after proposal submission and before project’s start.

  • Be able to add a new GTest (and investigate it with a debugger if it fails). https://wiki.blender.org/wiki/Tools/Tests/GTest
  • Being able to see if a branch/ line is reached after running a test would guide you to add edge case tests. There’s LLVM-cov for that on mac, and gcov on linux. I tried llvm-cov once (lite + GTest). Coverage results and a helper script are at https://developer.blender.org/F9507919 . Feel free to use the numbers for the proposal. They may vary significantly if full blender is tested, but that will be indirect testing which may not be as comprehensive/ reliable as direct one.
    Being able to find docs and add relevant compile flags is an exercise for the reader (;.

Not related to Blender or GSoC, just a personal favorite:

and i do not know how much do i need to know of the code to take part in the project.

Focus would be on the module that you pick up to add tests for. Usages of the API will be scattered throughout the code, but it’s fine if you don’t know anything right now.

6 Likes