threads / discuss / 62415

[Outreachy] My Final Application

Subject: [Outreachy] My Final Application

## tl;dr

4 messages between Oct 27, 2024 and Oct 28, 2024.

replies: 3people: 2as markdown or json

Chizoba ODINAKA· Oct 27, 2024, 22:48 UTC · lore

Hi, This is my proposal for an internship position to participate in the Git project, "Convert Unit Tests To Use Clar Testing Framework" as listed in the Outreachy mentoring program. ---

# Convert unit tests to use Clar testing framework
## Personal information
Name: Chizoba James ODINAKA
Email: chizobajames21@gmail.com
Github: https://github.com/ZIHCO
## About Me

I was a teacher, with an interest in the tech industry, this interest drove me to building a career in the tech space. I had enrolled in a tech school to get the needed training. And recently, I completed a software engineering course that required a 70 hours weekly input. Upon the course completion, I stumbled on the Outreachy program, and I am amazed by how they have been giving the under-represented the opportunity to make their first contribution in the tech space.

Prior to my Outreachy application, I had made no contribution to any FOSS project, but I have used a ton of these softwares (Git was the version control I was taught software development with) and I love the spirit behind their development, "The open source spirit: To let a billion lemons go unsqueezed. To capture vanishingly less than you create. To marvel at a vast commons of software, offered with no strings attached, to any who might wish to build." I wish to contribute, and I hope the Git community gives me an opportunity to.

## Overview and background

Referencing [1], there was a need to extend Git's home-grown unit testing framework to avoid code duplication. Clar was proposed as an alternative to enhancing Git owned test framework with macro, since it would be nicer to not bother with having to enhance and maintain the Git test framework. Clar is "easy to test and make clear the quality of your code".

### Potential goals
- consolidate the homegrown unit test framework by migrating to clar
framework
- implement additional assert functions for Git-specific types
- work with clar upstream to improve shortcomings discovered during
the integration of Git with Clar
## MicroProject
[2]  t6050: avoid pipes with upstream Git commands
Status: will merged into master
Description:
In pipes, the exit code of a chain of commands is determined by
the final command. In order not to miss the exit code of a failed
Git command, avoid pipes instead write output of Git commands
into a file.
For better debugging experience, instances of "grep" were changed
to "test_grep". "test_grep" provides more context in case of  a
failed "grep".
## Learning the source code

I will continue to study the source code especially as relates to the task at hand, referring to previous works done by the two GSoC interns, who have previous worked on this task.

## Timeline

Phase 1 (December 9 - December 30) Community bonding. Talk with mentors. Read Documentation. Write backlog.

Phase 2 (December 31 - January 27) Begin migrating unittests to use Clar framework. Send patches implementing the migration, get reviews, make changes based on mentors and community recommendations.

Phase 3 (January 28 - February 25) Look at implement additional assert functions for Git-specific types

Final phase (February 26 - March 7) Working with clar upstream to improve shortcomings discovered during the integration of Git with Clar.

## Availability

I will be available to make a time commit of 30 hours weekly for the whole span of the internship, 13 weeks.

## Giving back to the community

I already love it here, and I will always come back to make contribution here, and If given the opportunity, post-Outreachy I would stay back in the community helping in grooming the next set of interns in the same open spirit with which I have been groomed.

## Conclusion

In conclusion. I want to say a big thank you to everyone that made a comment on my patch, your comment(s) had helped me to progress this far in this journey. Thank you. And to every member of Git community, thank you for sticking around and putting in the efforts, offering this great opportunity to any, with no strings attached, who might wish to build. Thank you.

## References

[1] https://lore.kernel.org/git/cover.1722415748.git.ps@pks.im/ [2] https://lore.kernel.org/git/20241022012701.8959-1-chizobajames21@gmail.com/

Patrick Steinhardt· Oct 28, 2024, 06:01 UTC · re: Chizoba ODINAKA · lore

Re: [Outreachy] My Final Application

On Sun, Oct 27, 2024 at 11:48:39PM +0100, Chizoba ODINAKA wrote:

Thanks for your application! If you haven't done so, please don't forget to also enter it online via Outreachy.

[snip]
Show 17 quoted lines
> ## Timeline
> 
> Phase 1  (December 9 - December 30)
> Community bonding. Talk with mentors. Read Documentation.
> Write backlog.
> 
> Phase 2  (December 31 - January 27)
> Begin migrating unittests to use Clar framework. Send patches
> implementing the migration, get reviews, make changes based on
> mentors and community recommendations.
> 
> Phase 3 (January 28 - February 25)
> Look at implement additional assert functions for Git-specific types
> 
> Final phase (February 26 - March 7)
> Working with clar upstream to improve shortcomings discovered during
> the integration of Git with Clar.

It's somewhat funny that your timeline mentions backfilling missing functionality _after_ migrating the unit tests. It's likely that some of the unit tests will need to use such functionality. So you'll likely have to:

  - Investigate the next batch of unit tests to convert.
  - Figure out whether these require functionality not yet present in
    either clar or our wrappers thereof.
  - Upstream potentially missing features.
  - Migrate the tests.
  - Send the patches for review and refine them based on feedback.

This would be the core cycle of your work, and you'd probably repeat it multiple times.

Patrick
Chizoba ODINAKA· Oct 28, 2024, 06:38 UTC · re: Patrick Steinhardt · lore

Re: [Outreachy] My Final Application

Hi Patrick, Thanks for the review and correction.

On Mon, 28 Oct 2024 at 07:01, Patrick Steinhardt <ps@pks.im> wrote:
Show 45 quoted lines
>
> On Sun, Oct 27, 2024 at 11:48:39PM +0100, Chizoba ODINAKA wrote:
>
> Thanks for your application! If you haven't done so, please don't forget
> to also enter it online via Outreachy.
>
> [snip]
> > ## Timeline
> >
> > Phase 1  (December 9 - December 30)
> > Community bonding. Talk with mentors. Read Documentation.
> > Write backlog.
> >
> > Phase 2  (December 31 - January 27)
> > Begin migrating unittests to use Clar framework. Send patches
> > implementing the migration, get reviews, make changes based on
> > mentors and community recommendations.
> >
> > Phase 3 (January 28 - February 25)
> > Look at implement additional assert functions for Git-specific types
> >
> > Final phase (February 26 - March 7)
> > Working with clar upstream to improve shortcomings discovered during
> > the integration of Git with Clar.
>
> It's somewhat funny that your timeline mentions backfilling missing
> functionality _after_ migrating the unit tests. It's likely that some of
> the unit tests will need to use such functionality. So you'll likely
> have to:
>
>   - Investigate the next batch of unit tests to convert.
>
>   - Figure out whether these require functionality not yet present in
>     either clar or our wrappers thereof.
>
>   - Upstream potentially missing features.
>
>   - Migrate the tests.
>
>   - Send the patches for review and refine them based on feedback.
>
> This would be the core cycle of your work, and you'd probably repeat it
> multiple times.
>
> Patrick

I would like to know if I need to send in a second version of this proposal to the public mailing list, where the changes are implemented, or will implementing them on my final application on the Outreachy site suffice.

Thanks. Chizoba

Patrick Steinhardt· Oct 28, 2024, 07:28 UTC · re: Chizoba ODINAKA · lore

Re: [Outreachy] My Final Application

On Mon, Oct 28, 2024 at 07:38:12AM +0100, Chizoba ODINAKA wrote:
> I would like to know if I need to send in a second version of this
> proposal to the
> public mailing list, where the changes are implemented, or will implementing
> them on my final application on the Outreachy site suffice.

It is not a requirement, but mostly done so that we can provide feedback and help you fill in the necessary details. So feel free to send or not send to the mailing list, as you wish.

Patrick

← back to recent threads