SoK/2018/StatusReport/HimanshuVishwakarma
Write test and improve protocols supports for the Kopete
Project title: Write test and improve protocols support for the Kopete
Mentor: Vijay Krishnavanshi ([email protected])
A Brief Description: Kopete is the application for the instant messaging that has a modular architecture and supports many messaging services like Skype, Jabber, ICQ, MeanWhile, Bonjour, QQ, etc with lots of useful plugins like history, highlights, bookmarks, translator, text effects, contact notes and many others which are very useful for chatting.
- Project Goals:
- Write the unit test for remaining part of kopete
- Work on the improving the protocols support
- Removing the bugs.
Current Status of the Project
I had only able to worked on the unit testings part of the project. I had written the four unit test for the Kopete which are open on the phabricator and need to be the review (their link is given below) and merge into the Kopete git repository. The unit tests follow:
- QQCryptTest: The unit test is testing the class Crypt which is encrypting and decrypting the message in the QQ Protocol.
- JabberProtocolTest: The unit test is testing the JabberProtocol class which is the main class for Jabber protocol library.
- KopetePluginTest: The Unit test is testing the base class of kopete plugins in the libkopete library.
- KopetePictureTest: The Unit test is testing the class Picture in the libkopete library of the Kopete.
Result: Passed
Implementation
The main hug task during this season of KDE is to build the kopete application on my PC I will take near about fifteen days to build the kopete after that I starts with the reading of previous unit tests in the Kopete in the libkopete library. I read the test kopeteblacklistertest.cpp and learn QtTesting from it.
After that I go through the codebase of the QQ protocol, my first patch is on a unit test of the crypt class of QQ protocol, In this class Encrypting the data and Decrypting data, I test it by using the data-driven test. The patch of the test is here
What I learned during the SoK
It was a nice experience for me. I learned a lot of things. Some are following:
- XMPP protocols(Jabber Protocol)
- C++
- Git
- CMAKE
- Object-Oriented Programming
- Qt
- QtTest
- The most important thing is how to work in the open source community.
I always am thankful for the KDE community and Especially my mentor Vijay Krishnavashi for his support in the project.
Work Reports
Link to profile https://phabricator.kde.org/p/himanshuvishwakarma
- Link to the proposal: here
- Link to the Weekly Status Reports(progress): here
- Link to patches: QQCryptTest, JabberProtocolTest, KopetePluginTest, KopetePictureTest
- Link to the blog: here
- Link to the Kopete repository: here
To see my work and run the tests are follows:
- Clone the kopete repository by
- $ git clone https://anongit.kde.org/kopete.git
- Build the Kopete on your system.
- Download the diff from the phabricator for the test
- QQCryptTest https://phabricator.kde.org/D10160
- JabberProtocolTest https://phabricator.kde.org/D10556
- KopetePluginTest https://phabricator.kde.org/D10612
- KopetePictureTest https://phabricator.kde.org/D10730
- Run the command to the terminal.
- $ git apply /path..to..the..diff/Kopete..Test.diff
- Move to the build directory
- $ cd /path..to..kopete..build..directory..of..kopete/build
- $ make && make test
Contact
- Email: [email protected]
- IRC: himvish997/himvish997_
- Kopete IRC Channel: #kopete
- Kopete mailing list: [email protected]