Outreachy: Modifying Expectations
Six weeks have passed in my Outreachy internship with Git, and the experience has been nothing short of amazing. Embarking on this internship with Git is not just a chance to work on a renowned open-source project; it is an opportunity to challenge myself, grow, and make meaningful contributions that will outlive me and benefit thousands of developers around the world.
In this blog, I want to write about my journey so far, the expectations, and my overall progress and experience.
Project Background
The goal of the internship is to convert the homegrown unit-tests found in the t/unit-tests folder in the Git project to use clar testing framework with the benefits discussed here: test-conversion-project-scope
There are 21 unit-test scripts found in the t/unit-tests directory to be adapted to clar. Find a total breakdown of the internship project in the link above.
Expectations
At the heart of this internship is my project goal: converting Git’s unit tests to the Clar testing framework. This means diving deep into the existing test suite, carefully migrating tests, and implementing additional asserting functions to support Git-specific types. But it’s not just about writing code; it’s about ensuring the code is clean, maintainable, and well-documented. Every contribution I make should align with Git’s high coding standards and be robust enough to stand the test of time.
Having spoken with my mentor regarding the expectations of my internship, he made it clear that there is no pressure to complete the conversion of all the test scripts in the t/unit-tests directory but mentioned that a sizeable amount of conversions is required.
Journey so far
I spent the first and second weeks familiarizing myself with the Git codebase and the current structure of the testing framework. This is a very important process that laid the foundation for the test conversions. After this, I began prioritizing the test scripts for initial conversions based on their ease of conversion, found here: prioritizing-test-scripts
The selected scripts were iteratively converted to use clar with the help of my mentors and the Git community. The most problems I encountered in this phase were related to commit messages and documenting my changes, as this is just as important as the code changes themselves.
The first file I converted, t-hash.c, took the most time as it was the first script I converted, and I had to get familiar with the git workflow. The rest of the scripts took less time combined than the first script, as my level of understanding of the process had increased.
Next Steps
The following scripts have been selected for the next batch of test conversions, to clar: t-example-decorate.c t-strcmp-offset.c t-hashmap.c t-strbuf.c