GSoC: End of the project

 

Hi there!馃憢

This is the last week of coding for the Google Summer of Code project. 馃槥


During all this time, I have learned to work with the rpmlint environment and many aspects that I did not know before.
  

What I have done... 馃檵

Below, I will summarize a little bit of the work done during this time. 

During the first few weeks dedicated to the Google Summer of Code project, I've been familiarizing myself with the rpmlint environment. I learned about all the different tests in rpmlint, contacting the codebase to get a better understanding of the whole project.

Once the coding period began, I started replacing the existing binary rpm in the tests with FakePkg, previously finding the smallest or easiest to replace packages to begin with. Once the simpler tests were replaced, I continued with the replacement of more complex tests, with a deep understanding of rpm packages and the current test in rpmlint.

At the same time as replacing the binaries, I refactored the tests, moving common patterns to mock packages and try to reuse as much as possible in mock package definition.

Finally, I reduced the number of binary packages to a minimum in the tests.

Below is a link to all the commits made with the changes, with the exception of those pending review:

https://github.com/rpm-software-management/rpmlint/commits?author=i12momal


Current status 馃敍

Since the last blog post, I've completed all the medium difficulty tests. In this way, the project ends with all the simplest and medium difficulty tests replaced, with the exception of the more advanced difficulty tests that require more analysis and study.

In this link, you can see a list of all the tests classified according to their complexity, both those that have been completed and those that are pending review:

https://github.com/rpm-software-management/rpmlint/issues/1105



The code that was combined (or not) upstream ⚒

First, the simplest tests of the project were combined. Then, and once they were finished, the medium difficulty tests were combined. Finally, the binary rpm files that were no longer needed because they had been replaced were removed.

In this link you can see all the pull requests, both those that have been combined and those that are pending review: 

https://github.com/rpm-software-management/rpmlint/pulls?q=is%3Apr+author%3Ai12momal




Challengues and learning during the project 馃挱

The main challenge when carrying out the project was to learn how the rpmlint environment works and to know how to work with it.

That is, learning about all the different tests in rpmlint, contacting the codebase to get a better understanding of the whole project.

Once that phase was over, with the help of my mentor, it was easier to start coding in the project and replace the binary packages

with Fakepkg and organize them into mock files.

Therefore, once this project is finished, I can say that it has helped me to learn many new things about this field that I was initially

unaware of and that it can help me in my future as a computer engineer.



After this summary of the work done during this time, I end the project.

It has been a very rewarding experience and one that I would definitely recommend to everyone! 馃槉





Comentarios

Entradas populares de este blog

GSoC: Improve test coverage in rpmlint. Presentation

GSoC: Week 1-2

GSoC: Week 3-4