[no subject]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I will begin by selecting files from the t/unit-tests directory for
conversion to the Clar testing framework. This approach allows me to
start with smaller, manageable patches that the community can review
incrementally.

The existing unit tests which would need to be converted to Clar are
.c test files present in t/unit-tests . Tests in this directory use
the t/unit-tests/test-lib testing framework and are â??.câ?? scripts (for
example t/unit-tests/t-hash.c and t/unit-tests/t-strbuf.c), converted
from the shell-based testing which used the t/helper/test-tool
framework and corresponding t<number>-<name>.sh test files. Examples
of this conversion can be seen in [Achu Lumaâ??s
work](https://lore.kernel.org/git/20240226143350.3596-1-ach.lumap@xxxxxxxxx/),
which shows the work done in converting the test from
t/helper/test-sha1.c and test/helper/test-sha256.c to use
t/unit-tests/t-hash.c which uses the t/unit-tests/test-lib.h framework


### Write incremental patches

Each test conversion will be submitted as an incremental patch,
following [Gitâ??s contribution
guidelines](https://github.com/git/git/blob/master/Documentation/SubmittingPatches).
By keeping patches incremental, the community can provide focused
feedback on each test conversion, improving the outcome.


### Convert test and implement feedback

Once the files are identified, I will proceed with the conversions
while regularly communicating with the mentors and the Git community.
This communication will ensure alignment on the implementation and
allow immediate adjustments based on any feedback received.

Each file conversion will typically have the following steps:

       - Rename the test file from t-<name>.c to <name>.c. This
pattern follows the style used by Patrick Steinhardt in his conversion
of [t-strvec.c](https://lore.kernel.org/git/604303e31aad3a9e74f7bdddc84f11d4d137c864.1725459142.git.ps@xxxxxx/)
and [t-ctype.c](https://lore.kernel.org/git/ba05b9f1eef8136e087846ee54a076558097a240.1725459142.git.ps@xxxxxx/).

       - Add the module name to CLAR_TEST_SUITE variable in the MAKE file.
            CLAR_TEST_SUITE += <name>

       - The next steps will typically involve writing optional setup
and cleanup functions with the signature â??void
test_<suitename>__initialize(void)â?? and void
test_<suite_name>__cleanup(void) and the actual tests also with the
signature

void test_<suitname>__<testname>(void) and the Clar methods such as
cl_assert(), cl_assert_equal_s(), cl_assert_equal_i() and any other
implemented assertion methods can be used to verify the results
against the expected.



 ### Validate converted tests

Finally, each converted test will be validated to ensure it behaves as
expected. Tests will undergo a thorough review to confirm that the
converted scripts accurately replicate the original testâ??s
functionality.


Project Timeline:

Community Bonding (Present - November 26):

Continue making contributions to the Git codebase working on different
things within my capacity and getting more familiar with the codebase,
participating in patches review.

Conversion of tests begins (December 9 - March 1):

    - Identify files for conversion with mentorâ??s guidance

    - Start conversion process for selected

    - Send incremental patches to the mailing list for review by
mentors and   community members

    - Implement review feedback and resend patches to the mailing list
until an agreed patch is agreed upon.

    - Update my blog to talk about each conversion and the
achievements, challenges and goals achieved.



## Availability:

 I am not currently enrolled in any academic program or have any jobs,
and will be available to work on the project for a minimum of 30 hours
per week.


## After the Internship:

The Git community fosters proper and effective communication,
regardless of oneâ??s level of experience. The patience, guidance and
explanation of technical concepts shown by community members are
wonderful and this has made me grow not just technically but also
behaviorally. Due to this, I plan to continue actively participating
the in Git community and be part next generation of those saddled with
sustaining this great project and preserving its legacy.


I look forward to reviews as regards my proposal.


A special appreciation to everyone on the mailing list for reviewing my patches.

My mentors Patrick and Phillip, Junio, Eric, Christian, Brian,
Kristoff, Taylor, and Josh.

I am grateful to you all.

Thanks

Abraham Samuel.





[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux