{"thread":{"id":"60419","subject":"[OUTREACHY] Final Application For Git Internshhip","startedAt":"2023-10-24T07:48:06Z","lastAt":"2023-10-28T13:17:52Z","messageCount":4,"participants":["Naomi Ibe","Christian Couder"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"483759","messageId":"CACS=G2yJa3xvCPN6bqsa4+vSkwsdUouhqNvuH6y_CC2cJ0YSmQ@mail.gmail.com","threadId":"60419","inReplyTo":null,"subject":"[OUTREACHY] Final Application For Git Internshhip","fromName":"Naomi Ibe","fromEmail":"naomi.ibeh69@gmail.com","sentAt":"2023-10-24T07:47:34Z","receivedAt":"2023-10-24T07:48:06Z","isPatch":false,"sender":{"key":"naomi.ibeh69@gmail.com","avatar":"https://avatars.githubusercontent.com/u/104323769?v=4"},"body":"I'm Ibe Naomi Amarachi,I'm a Nigerian and I currently live in\nLagos,Nigeria. I'm a graduate of the African Leadership Xcelerator\nSoftware Engineering program (ALX SE), with specialization in backend\nweb development and I'm applying for the \"Moving Existing Tests to a\nUnit Testing Framework\" project\n\nSome of my projects that involve working with Shell,C and Git can be found here:\n\nhttps://github.com/Amarajah/alx-system_engineering-devops\n\nhttps://github.com/Amarajah/alx-low_level_programming\n\nGit has been a part of my software engineering journey from day one\nand it's allowed me to collaborate with peers and also keep track of\nmy personal projects. Currently Git uses end-to-end tests for error\nconditions that could easily be captured by unit tests, the project is\naimed at turning end-to-end tests to unit tests, and I'd love to be a\npart of it\n\nMy microproject contribution is here:\n\nhttps://public-inbox.org/git/20231009011652.1791-1-naomi.ibeh69@gmail.com/T/#u\n\nAnd here is my updated contribution link after review by the Git community:\n\nhttps://public-inbox.org/git/xmqqttqox5cp.fsf@gitster.g/T/#u\n\nBelow is my project timeline:\n(Of course I'd be very much willing to work with the community and\nmentors to edit it so it perfectly meets up to the community's\nexpectations)\n\nOctober 2, 2023 - October 30, 2023\n\nFamiliarizing myself with the community , mailing list and\ncontributing my microproject\n\nNovember 20, 2023 - December 4, 2023\n\nFamiliarizing myself with the already existing tests and also the\nchosen unit test framework\n\nDo more research on the internship projects and find better ways to\nget it done in harmony with coding guidelines and community\nrequirements\n\nDecember 4, 2023 - December 31, 2023\n\nFirst document the initial state of the test files, then make sure all\ntest files conform to coding guidelines down to the tiniest details\n(e.g git/t/helper/test-write-cache.c and git/t/helper/test-advise.c\nhave die() messages which do not conform to coding guidelines)\n\nJanuary 2, 2024 - January 31, 2024\n\nRun the tests and verify they still work as originally intended\n\nBegin migrations of test files\n\nTest migrated files and make necessary changes based on feedback\nreceived from teammates and mentors\n\nFebruary 1, 2024 - March 1, 2024\n\nContinue testing migrated files and making necessary changes based on\nfeedback received from teammates and mentors\n\nDocument each step and request for reviews from teammates and mentors\n\nTidy up the project,make sure all necessary files are migrated, they\nall work as intended, they are well documented and that there are no\nconflicts\n"},{"id":"483841","messageId":"CAP8UFD3athDOto3vMr_SgSTZG_3ny=yyZ22fGcV5yoWNjJo2fA@mail.gmail.com","threadId":"60419","inReplyTo":"CACS=G2yJa3xvCPN6bqsa4+vSkwsdUouhqNvuH6y_CC2cJ0YSmQ@mail.gmail.com","subject":"Re: [OUTREACHY] Final Application For Git Internshhip","fromName":"Christian Couder","fromEmail":"christian.couder@gmail.com","sentAt":"2023-10-25T08:03:48Z","receivedAt":"2023-10-25T08:04:04Z","isPatch":false,"sender":{"key":"christian.couder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/208954?v=4"},"body":"On Tue, Oct 24, 2023 at 9:48 AM Naomi Ibe <naomi.ibeh69@gmail.com> wrote:\n>\n> I'm Ibe Naomi Amarachi,I'm a Nigerian and I currently live in\n> Lagos,Nigeria. I'm a graduate of the African Leadership Xcelerator\n> Software Engineering program (ALX SE), with specialization in backend\n> web development and I'm applying for the \"Moving Existing Tests to a\n> Unit Testing Framework\" project\n>\n> Some of my projects that involve working with Shell,C and Git can be found here:\n>\n> https://github.com/Amarajah/alx-system_engineering-devops\n>\n> https://github.com/Amarajah/alx-low_level_programming\n>\n> Git has been a part of my software engineering journey from day one\n> and it's allowed me to collaborate with peers and also keep track of\n> my personal projects. Currently Git uses end-to-end tests for error\n> conditions that could easily be captured by unit tests, the project is\n> aimed at turning end-to-end tests to unit tests, and I'd love to be a\n> part of it\n\nMaybe a period is missing at the end of the above sentence. Otherwise Ok.\n\n> My microproject contribution is here:\n>\n> https://public-inbox.org/git/20231009011652.1791-1-naomi.ibeh69@gmail.com/T/#u\n>\n> And here is my updated contribution link after review by the Git community:\n>\n> https://public-inbox.org/git/xmqqttqox5cp.fsf@gitster.g/T/#u\n\nIt could help to say if your contribution has been merged to 'master',\n'next', 'seen' or not at all.\n\n> Below is my project timeline:\n> (Of course I'd be very much willing to work with the community and\n> mentors to edit it so it perfectly meets up to the community's\n> expectations)\n>\n> October 2, 2023 - October 30, 2023\n>\n> Familiarizing myself with the community , mailing list and\n> contributing my microproject\n>\n> November 20, 2023 - December 4, 2023\n>\n> Familiarizing myself with the already existing tests and also the\n> chosen unit test framework\n>\n> Do more research on the internship projects and find better ways to\n> get it done in harmony with coding guidelines and community\n> requirements\n>\n> December 4, 2023 - December 31, 2023\n>\n> First document the initial state of the test files, then make sure all\n> test files conform to coding guidelines down to the tiniest details\n> (e.g git/t/helper/test-write-cache.c and git/t/helper/test-advise.c\n> have die() messages which do not conform to coding guidelines)\n\nWe don't advise spending a lot of time during your internship with\nsmall things that could be part of someone else's microproject later.\nYou should be focused on the internship goal first.\n\nOf course if you are migrating some code to the new unit test\nframework, it's Ok to improve that code before migrating it. But no\nneed to improve everything under t/helper before starting to migrate\nparts of the code there.\n\nI think that one of the important tasks to be done early is to\nidentify what code in t/helper is unit testing C code and what code is\nreally about helping other tests in the t/t*.sh scripts. It would be\nnice if you could give an example of each kind of code.\n\n> January 2, 2024 - January 31, 2024\n>\n> Run the tests and verify they still work as originally intended\n>\n> Begin migrations of test files\n>\n> Test migrated files and make necessary changes based on feedback\n> received from teammates and mentors\n\nAn example of how you would migrate parts of a test, or how a migrated\ntest would look like, would be nice.\n\n> February 1, 2024 - March 1, 2024\n>\n> Continue testing migrated files and making necessary changes based on\n> feedback received from teammates and mentors\n>\n> Document each step and request for reviews from teammates and mentors\n>\n> Tidy up the project,make sure all necessary files are migrated, they\n> all work as intended, they are well documented and that there are no\n> conflicts\n\nThanks,\nChristian.\n"},{"id":"484020","messageId":"CAP8UFD34gre7Xxw=kFop93tLsGXc3RxasstBWpa6RaJ6VyEpFQ@mail.gmail.com","threadId":"60419","inReplyTo":"CACS=G2yGj2FYp9XBCknKqEXh5ZWXiQFLWrWk+SAmWzDMrjJwQg@mail.gmail.com","subject":"Re: [OUTREACHY] Final Application For Git Internshhip","fromName":"Christian Couder","fromEmail":"christian.couder@gmail.com","sentAt":"2023-10-28T08:24:48Z","receivedAt":"2023-10-28T08:25:03Z","isPatch":false,"sender":{"key":"christian.couder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/208954?v=4"},"body":"On Wed, Oct 25, 2023 at 2:14 PM Naomi Ibe <naomi.ibeh69@gmail.com> wrote:\n>>\n>> It could help to say if your contribution has been merged to 'master',\n>> 'next', 'seen' or not at all.\n>\n>  My microproject contribution has been scheduled to be merged to the master branch.\n\nGreat, please add this information to your application.\n\n>> I think that one of the important tasks to be done early is to\n>> identify what code in t/helper is unit testing C code and what code is\n>> really about helping other tests in the t/t*.sh scripts. It would be\n>> nice if you could give an example of each kind of code.\n>\n> In my opinion, helper/test-ctype.c is a unit test file containing a set of unit tests for character classification functions,\n\nRight.\n\n> while helper/test-dir-iterator.c is a unit test file which works together with the t/t0066-dir-iterator.sh file to iterate through a directory and give details on its contents. It likely is used for testing and inspecting directory structures and file types within a specified path.\n\nActually \"t/helper/test-dir-iterator.c\" and \"t/t0066-dir-iterator.sh\"\nare used together to test the code in \"dir-iterator.h\" and\n\"dir-iterator.c\", so it's kind of special. Ideally this could be\nported to the unit test framework as the goal is to test quite low\nlevel code (instead of a full git command for example), but I am not\nsure how easy it would be, and if it would even be worth it.\n\n>> An example of how you would migrate parts of a test, or how a migrated\n>> test would look like, would be nice.\n>\n> I'd first create a new test file, then include \"test-libtap/tap.h\" and \"test-tool.h\" header files, then I would initialize TAP with this command plan_tests(x), where x defines the number of tests to be run inside that file.\n> Below the plan_tests();, I'd migrate and edit my specific test function and requirements, and after that, I'd add my \"done_testing();\" and then \"return exit_status();\"\n\nThese are quite good guidelines, but not quite an example.\n\nThanks,\nChristian.\n"},{"id":"484028","messageId":"CACS=G2yix6jQXtYXETjjCEZMYpMuwB2ViYbx8srF4MZgkXxzwg@mail.gmail.com","threadId":"60419","inReplyTo":"CAP8UFD34gre7Xxw=kFop93tLsGXc3RxasstBWpa6RaJ6VyEpFQ@mail.gmail.com","subject":"Re: [OUTREACHY] Final Application For Git Internshhip","fromName":"Naomi Ibe","fromEmail":"naomi.ibeh69@gmail.com","sentAt":"2023-10-28T13:17:15Z","receivedAt":"2023-10-28T13:17:52Z","isPatch":false,"sender":{"key":"naomi.ibeh69@gmail.com","avatar":"https://avatars.githubusercontent.com/u/104323769?v=4"},"body":"On Sat, Oct 28, 2023 at 9:25 AM Christian Couder\n<christian.couder@gmail.com> wrote:\n>\n> On Wed, Oct 25, 2023 at 2:14 PM Naomi Ibe <naomi.ibeh69@gmail.com> wrote:\n> >>\n> >> It could help to say if your contribution has been merged to 'master',\n> >> 'next', 'seen' or not at all.\n> >\n> >  My microproject contribution has been scheduled to be merged to the master branch.\n>\n> Great, please add this information to your application.\n>\n> >> I think that one of the important tasks to be done early is to\n> >> identify what code in t/helper is unit testing C code and what code is\n> >> really about helping other tests in the t/t*.sh scripts. It would be\n> >> nice if you could give an example of each kind of code.\n> >\n> > In my opinion, helper/test-ctype.c is a unit test file containing a set of unit tests for character classification functions,\n>\n> Right.\n>\n> > while helper/test-dir-iterator.c is a unit test file which works together with the t/t0066-dir-iterator.sh file to iterate through a directory and give details on its contents. It likely is used for testing and inspecting directory structures and file types within a specified path.\n>\n> Actually \"t/helper/test-dir-iterator.c\" and \"t/t0066-dir-iterator.sh\"\n> are used together to test the code in \"dir-iterator.h\" and\n> \"dir-iterator.c\", so it's kind of special. Ideally this could be\n> ported to the unit test framework as the goal is to test quite low\n> level code (instead of a full git command for example), but I am not\n> sure how easy it would be, and if it would even be worth it.\n>\n> >> An example of how you would migrate parts of a test, or how a migrated\n> >> test would look like, would be nice.\n> >\n> > I'd first create a new test file, then include \"test-libtap/tap.h\" and \"test-tool.h\" header files, then I would initialize TAP with this command plan_tests(x), where x defines the number of tests to be run inside that file.\n> > Below the plan_tests();, I'd migrate and edit my specific test function and requirements, and after that, I'd add my \"done_testing();\" and then \"return exit_status();\"\n>\n> These are quite good guidelines, but not quite an example.\n>\n\nUsing the test-ctype.c file as an example, the migrated unit test file\nwould look like this:\n\n#include \"test-tool.h\"\n#include \"test-libtap/tap.h\"\n#include <stdio.h>\n#include <string.h>\n\nstatic int is_in(const char *s, int ch) {\n    if (ch == '\\0')\n        return ch == *s;\n    if (*s == '\\0')\n        s++;\n    return !!strchr(s, ch);\n}\n\nint main() {\n    // Init TAP with the number of planned tests (1 test per character class)\n    plan(12);\n\n    // Character classes\n    char *classes[] = {\n        \"DIGIT\", \" \\n\\r\\t\",\n\"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\",\n        \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\",\n        \"*?[\\\\\", \"$()*+.?[\\\\^{|\", \"!\\\"#%&',-/:;<=>@_`~\",\n        \"\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\x09\\x0a\\x0b\\x0c\\x0d\\x0e\\x0f\"\n        \"\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f\"\n        \"\\x20\\x21\\x22\\x23\\x24\\x25\\x26\\x27\\x28\\x29\\x2a\\x2b\\x2c\\x2d\\x2e\\x2f\"\n        \"\\x30\\x31\\x32\\x33\\x34\\x35\\x36\\x37\\x38\\x39\\x3a\\x3b\\x3c\\x3d\\x3e\\x3f\"\n        \"\\x40\\x41\\x42\\x43\\x44\\x45\\x46\\x47\\x48\\x49\\x4a\\x4b\\x4c\\x4d\\x4e\\x4f\"\n        \"\\x50\\x51\\x52\\x53\\x54\\x55\\x56\\x57\\x58\\x59\\x5a\\x5b\\x5c\\x5d\\x5e\\x5f\"\n        \"\\x60\\x61\\x62\\x63\\x64\\x65\\x66\\x67\\x68\\x69\\x6a\\x6b\\x6c\\x6d\\x6e\\x6f\"\n        \"\\x70\\x71\\x72\\x73\\x74\\x75\\x76\\x77\\x78\\x79\\x7a\\x7b\\x7c\\x7d\\x7e\\x7f\",\n    };\n\n    // Test each character class\n    for (int i = 0; i < 12; i++) {\n        char description[50];\n        sprintf(description, \"Testing %s character class\", classes[i]);\n        for (int ch = 0; ch < 256; ch++) {\n            int result = is_in(classes[i], ch);\n            if (ch == EOF)\n                ok(result == is_in(classes[i], ch), description);\n            else\n                is_int(result, is_in(classes[i], ch), description);\n        }\n    }\n\n    // After testing all\n    done_testing();\n\n    return exit_status();\n}\n\n\n> Thanks,\n> Christian.\n"}]}