SoK 18 - Kopete: Write tests and Improve protocol support
Hello Everyone, I am Himanshu Vishwakarma and doing the project on 'Kopete: Write tests and Improve protocol support' in this season of KDE 2018. As we all know that Kopete has huge codebase with lots of legacy code which also reflects the hard work of many developers since many years. It is my pleasure to get chance to work on such project. I am very excited to do this project and hope, that I will complete my project within the time. I am already in contact with the mentor who guides me. This is my first mail to this mailing list. Happy hacking !! Thanks and Regards, Himanshu Vishwakarma
[Status Report] SoK-18 Project: Write tests and Improve protocol support for Kopete
Hi, In this week, I have done the following work: 1. Buil d the application (Kopete) by using cmake and installed all th e packages which are required for building and setting up for the machine . 2. Created an account in all messenger services . 3. Explored more about how the cmake file works in Kopete and user flow of the application . 4. I have checked how the older test s are written and also their working and how their implementation in the application . This week I have plan to explore more about the tests. After that, write some new test and also to make my first patch. Regards, Himanshu Vishwakarma
[Status Report] SoK-18 Project: Write tests and Improve protocol support for Kopete
Hi, In this week I continued to explore more about the project libraries. Basically, I explored more about the protocols of QQ Protocols and tried to learn about which tests can be written for this protocol. I have written one test of QQprotocol - CryptTest, the patch will be sent within a couple of days to be reviewed . I also wr ote a blog , link is given below . Next, I plan to write more test for the same protocol for eg. QQAccountTest etc. and will then proceed to writing test s other protocols. Link to blog here <http://blog.himvish997.com/2018/01/season-of-kde-2018.html> -- Regards, Himanshu Vishwakarma
[Status Report] SoK-18 Project: Write tests and Improve protocol support for Kopete
Hi, In this week I have a blocker in the writing test is linking library of QQ protocol to the test library. I am working on the same since last week. I try to google but didn't get a ny good result. When running the command '*make*' after writing the test, it give the error like this : */usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crt1.o: In function `_start': (.text+0x20): undefined reference to `main' CMakeFiles/qqcrypttest.dir/qqcrypttest.cpp.o: In function `QQCryptTest::CryptTest()': qqcrypttest.cpp:(.text+0x243e): undefined reference to `TEA::encipher(unsigned int*, unsigned int const*, unsigned int*)' qqcrypttest.cpp:(.text+0x2455): undefined reference to `TEA::decipher(unsigned int*, unsigned int const*, unsigned int*)' collect2: error: ld returned 1 exit status tests/protocols/qq/CMakeFiles/qqcrypttest.dir/build.make:120: recipe for target 'tests/protocols/qq/qqcrypttest' failed make[2]: *** [tests/protocols/qq/qqcrypttest] Error 1 CMakeFiles/Makefile2:6872: recipe for target 'tests/protocols/qq/CMakeFiles/qqcrypttest.dir/all' failed make[1]: *** [tests/protocols/qq/CMakeFiles/qqcrypttest.dir/all] Error 2 Makefile:138: recipe for target 'all' failed make: *** [all] Error 2* L ink to file: - test/protocol/qq/CMakeLists.txt <https://paste.kde.org/p4wgnneua> - change is done in the kopete/protocols/qq/CMakeLists.txt <https://paste.kde.org/pykp5k3w7> , output of command git diff - test header file qqcrypttest.h <https://paste.kde.org/puuhrchye> - test file qqcrypttest.cpp <https://paste.kde.org/pwstszknv> M y question is - how to make kopete_qq library visible in the test namespace? Please help. Regards, Himanshu Vishwakarma
D10160: Test for Crypt in QQ Protocol
himanshuvishwakarma created this revision. himanshuvishwakarma added reviewers: vijaykrishnavanshi, pali, Kopete. himanshuvishwakarma added a project: Kopete. himanshuvishwakarma requested review of this revision. REVISION SUMMARY In this patch is testing the QQ protocol crypt in which encipher and decipher the text. REPOSITORY R434 Kopete REVISION DETAIL https://phabricator.kde.org/D10160 AFFECTED FILES protocols/qq/qqprotocol.cpp tests/CMakeLists.txt tests/plugins/CMakeLists.txt tests/protocols/CMakeLists.txt tests/protocols/qq/CMakeLists.txt tests/protocols/qq/qqcrypttest.cpp To: himanshuvishwakarma, vijaykrishnavanshi, pali, #kopete Cc: cochise
D10160: Test for Crypt in QQ Protocol
himanshuvishwakarma updated this revision to Diff 26121. himanshuvishwakarma added a comment. Updated! CHANGES SINCE LAST UPDATE https://phabricator.kde.org/D10160?vs=26115&id=26121 REVISION DETAIL https://phabricator.kde.org/D10160 AFFECTED FILES tests/protocols/CMakeLists.txt tests/protocols/qq/CMakeLists.txt tests/protocols/qq/qqcrypttest.cpp To: himanshuvishwakarma, vijaykrishnavanshi, pali, #kopete Cc: cochise
D10160: Test for Crypt in QQ Protocol
himanshuvishwakarma updated this revision to Diff 26130. CHANGES SINCE LAST UPDATE https://phabricator.kde.org/D10160?vs=26121&id=26130 REVISION DETAIL https://phabricator.kde.org/D10160 AFFECTED FILES tests/protocols/CMakeLists.txt tests/protocols/qq/CMakeLists.txt tests/protocols/qq/qqcrypttest.cpp To: himanshuvishwakarma, vijaykrishnavanshi, pali, #kopete Cc: cochise
[Status Report] SoK-18 Project: Write tests and Improve protocol support for Kopete
Hi, I got the solution to my problem as mentioned in the previous status report o n Sun, Jan 28, 2018 at 1:09 PM. I had done a mistake in the CMakeLists.txt file by not giving the path to the source library of qq protocol, therefore, it gives the error. Now the problem is solved, I patched the test for the review link is given below: https://phabricator.kde.org/D10160 N ext, I plan to write some other tests on the same protocol. Regards, Himanshu Vishwakarma On Sun, Jan 28, 2018 at 1:09 PM, Himanshu Vishwakarma wrote: > Hi, > In this week I have a blocker in the writing test is linking library of QQ > protocol to the test library. I am working on the same since last week. > I try to google but didn't get a good result. > When running the command '*make*' it give the error like this > > > > > > > > > > > > > */usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crt1.o: In > function `_start': (.text+0x20): undefined reference to `main' > CMakeFiles/qqcrypttest.dir/qqcrypttest.cpp.o: In function > `QQCryptTest::CryptTest()': qqcrypttest.cpp:(.text+0x243e): undefined > reference to `TEA::encipher(unsigned int*, unsigned int const*, unsigned > int*)' qqcrypttest.cpp:(.text+0x2455): undefined reference to > `TEA::decipher(unsigned int*, unsigned int const*, unsigned int*)' > collect2: error: ld returned 1 exit status > tests/protocols/qq/CMakeFiles/qqcrypttest.dir/build.make:120: recipe for > target 'tests/protocols/qq/qqcrypttest' failed make[2]: *** > [tests/protocols/qq/qqcrypttest] Error 1 CMakeFiles/Makefile2:6872: recipe > for target 'tests/protocols/qq/CMakeFiles/qqcrypttest.dir/all' failed > make[1]: *** [tests/protocols/qq/CMakeFiles/qqcrypttest.dir/all] Error 2 > Makefile:138: recipe for target 'all' failed make: *** [all] Error 2* > > link to file: > >- test/protocol/qq/CMakeLists.txt <https://paste.kde.org/p4wgnneua> >- change is done in the kopete/protocols/qq/CMakeLists.txt ><https://paste.kde.org/pykp5k3w7> by using the command git diff >- test header file qqcrypttest.h <https://paste.kde.org/puuhrchye> >- test file qqcrypttest.cpp <https://paste.kde.org/pwstszknv> > > > my question is > how to make kopete_qq library visible in the test namespace?? > > > > > > > Regards, > Himanshu Vishwakarma > >
Re: D10160: Test for Crypt in QQ Protocol
Hi, I have some difficulties in making this test into the data-driven test. For the data-driven, I have the problem in defining the array type the data function. how to use this function to store the array type values QTest::addColumn("result"); here in the example defining the Int data type but I want to use its n *array* instead of *int.* I try Q_DECLARE_METATYPE() to define it like this /** namespace CryptData { struct Data { unsigned int a[2]; }; struct Key { unsigned int k[4]; }; } Q_DECLARE_METATYPE(CryptData::Data) Q_DECLARE_METATYPE(CryptData::Key) /*** but in this method I face lot of troubles in initializing the value by function newRow(). Can I test with more values instead of data-driven? I don't know what should I do. please help!! Regards, Himanshu Vishwakarma On Sun, Jan 28, 2018 at 8:12 PM, Vijay Krishnavanshi < nore...@phabricator.kde.org> wrote: > vijaykrishnavanshi added inline comments. View Revision > <https://phabricator.kde.org/D10160> > *INLINE COMMENTS* > View Inline <https://phabricator.kde.org/D10160#inline-46737> > qqcrypttest.cpp:11 > private slots: > void CryptTest(); > }; > > Make this test data-driven. > Link: http://doc.qt.io/qt-5/qttestlib-tutorial2-example.html > > *REVISION DETAIL* > https://phabricator.kde.org/D10160 > > *To: *himanshuvishwakarma, vijaykrishnavanshi, pali, Kopete > *Cc: *cochise >
D10160: Test for Crypt in QQ Protocol
himanshuvishwakarma updated this revision to Diff 26299. himanshuvishwakarma edited the summary of this revision. himanshuvishwakarma set the repository for this revision to R434 Kopete. REPOSITORY R434 Kopete CHANGES SINCE LAST UPDATE https://phabricator.kde.org/D10160?vs=26130&id=26299 REVISION DETAIL https://phabricator.kde.org/D10160 AFFECTED FILES tests/protocols/CMakeLists.txt tests/protocols/qq/CMakeLists.txt tests/protocols/qq/qqcrypttest.cpp To: himanshuvishwakarma, vijaykrishnavanshi, pali, #kopete Cc: kopete-devel, cochise
D10160: Test for Crypt in QQ Protocol
himanshuvishwakarma marked an inline comment as done. himanshuvishwakarma added a comment. the test is now data-driven test REPOSITORY R434 Kopete REVISION DETAIL https://phabricator.kde.org/D10160 To: himanshuvishwakarma, vijaykrishnavanshi, pali, #kopete Cc: kopete-devel, cochise
D10160: Test for Crypt in QQ Protocol
himanshuvishwakarma updated this revision to Diff 26380. himanshuvishwakarma added a comment. struct is removed CHANGES SINCE LAST UPDATE https://phabricator.kde.org/D10160?vs=26299&id=26380 REVISION DETAIL https://phabricator.kde.org/D10160 AFFECTED FILES tests/protocols/CMakeLists.txt tests/protocols/qq/CMakeLists.txt tests/protocols/qq/qqcrypttest.cpp To: himanshuvishwakarma, vijaykrishnavanshi, pali, #kopete Cc: kopete-devel, cochise
[Status Report] SoK-18 Project: Write tests and Improve protocol support for Kopete
Hi, In this week, I worked on improving the previous patch and made the test data-driven and now, waiting for the review. I also wrote a new test of class socket in QQ protocol but there having some difficulties . I will be glad , If you look at the proble m and give the possible solution. When I compling test it give the error like this / In file included from /mnt/NewVolume/sok */kopete/protocols/qq/qqsocket.cpp*:26:0: /mnt/NewVolume/sok */kopete/protocols/qq/qqsocket.h*:18:10: fatal error: qobject.h: No such file or directory #include ^~~ compilation terminated. /*** To slove the problem, I tried the many things, some are follows: - Replace to this #include instead of #include * but got similar error*. - I nclude the Qt5::Core library in th e kopete/tests/protocols/qq/CMakeLists.txt and in the protocol CMakeLists.txt file also. - G ive the full path of the QObject library in * kopete/tests/protocols/qq/CMakeLists.txt* but the issue remain same . - Reinstall ed the Qt and change the lastest version Qt-5.10.0. - If I comment the line *#include * then error change but similar error has come to this line * #include * Let me know if needed some more information related to the error. Next, I plan to resolve the issue in above test and go through code base of other protocols basically Jabber protocol and I also want to confirm that, *should I remove the AIM protocol from the kopete?* Link to patch: https://phabricator.kde.org/D10160 Regards, Himanshu Vishwakarma
[Status Report] SoK-18 Project: Write tests and Improve protocol support for Kopete
Hi, In this week, I go through the codebase of Jabber Protocol and start to write the unit test of the in the Jabber protocol. the issue which I posted in the status previous report is unsolved, I am working on it. Please give me some suggestion or link by which help me to solve the problem. Next, I plan to complete the unit test and also move toward the improving the workflow of the application. Please let me know if reports need to be more elaborate or any suggestion. Please review the patch: https://phabricator.kde.org/D10160 Link to the blog: http://blog.himvish997.com Regards, Himanshu Vishwakarma On Mon, Feb 5, 2018 at 4:13 PM, Himanshu Vishwakarma wrote: > Hi, > > In this week, I worked on improving the previous patch and made the test > data-driven and now, waiting for the review. I also wrote a new test of > class socket > in > > QQ protocol but > there > having some difficulties > . > I > will be > > glad > , If you look at the proble > m > and give the possible solution. > > > When I compling test it give the error like > this > > > / > In file included from /mnt/NewVolume/sok > */kopete/protocols/qq/qqsocket.cpp*:26:0: > > /mnt/NewVolume/sok > */kopete/protocols/qq/qqsocket.h*:18:10: fatal error: qobject.h: No > such file or directory > > #include > > ^~~ > > compilation terminated. > > /*** > > > To slove the problem, > I tried the many things, some are follows: > > >- Replace to this > #include instead of > >#include > * but got similar error*. >- I >nclude the Qt5::Core library in th >e >kopete/tests/protocols/qq/CMakeLists.txt > >and in the protocol CMakeLists.txt file also. >- G >ive the full path of the QObject library in > * kopete/tests/protocols/qq/CMakeLists.txt* but the issue > remain same >. >- Reinstall >ed >the Qt and change the lastest version Qt-5.10.0. >- If I comment the line > > >*#include * > then >error change but > >similar >error has come to this line > * #include * > > Let me know if needed some more information related to the error. > > Next, I plan to resolve the issue in > above test > and go through code base of other protocols basically Jabber protocol > > and > I also want to confirm > > that, > *should I remove the AIM protocol from the kopete?* > > Link to patch: https://phabricator.kde.org/D10160 > > Regards, > Himanshu Vishwakarma > > > > > -- Regards, Himanshu Vishwakarma
D10556: Test is added in Jabber Protocol {JabberProtocolTest}
himanshuvishwakarma created this revision. himanshuvishwakarma added a reviewer: Kopete. Restricted Application added a project: Kopete. himanshuvishwakarma requested review of this revision. REVISION SUMMARY The unit test is added to the Jabber Protocol named "JabberProtocolTest" REPOSITORY R434 Kopete REVISION DETAIL https://phabricator.kde.org/D10556 AFFECTED FILES protocols/jabber/CMakeLists.txt tests/protocols/CMakeLists.txt tests/protocols/jabber/CMakeLists.txt tests/protocols/jabber/jabberprotocoltest.cpp To: himanshuvishwakarma, #kopete Cc: pali, vijaykrishnavanshi, cochise
D10556: Test is added in Jabber Protocol {JabberProtocolTest}
himanshuvishwakarma added reviewers: vijaykrishnavanshi, pali. REPOSITORY R434 Kopete REVISION DETAIL https://phabricator.kde.org/D10556 To: himanshuvishwakarma, #kopete, vijaykrishnavanshi, pali Cc: pali, vijaykrishnavanshi, cochise
D10612: KopetePluginTest
himanshuvishwakarma created this revision. himanshuvishwakarma added reviewers: Kopete, vijaykrishnavanshi, pali. himanshuvishwakarma added a project: Kopete. himanshuvishwakarma requested review of this revision. REVISION SUMMARY A new test is added to the class plugin of libkopete libraries. REPOSITORY R434 Kopete REVISION DETAIL https://phabricator.kde.org/D10612 AFFECTED FILES tests/libkopete/CMakeLists.txt tests/libkopete/kopeteplugintest.cpp To: himanshuvishwakarma, #kopete, vijaykrishnavanshi, pali Cc: pali, vijaykrishnavanshi, kopete-devel, cochise
[Status Report] SoK-18 Project: Write tests and Improve protocol support for Kopete
Hi, This week() I have done the following works: 1. Write a test of class JabberProtocol. 2. Write a test of class KopetePlugin in the libkopete. 3. Go through the codebase of the classes of libkopete to understand the workflow. I am currently writing the test for kopetepluginmanager. Next week plan: 1. Go through the codebase of the other classes of libkopete. 2. Write the test for other classes of libkopete and Jabber Protocol 3. Work on the improvement workflow of the application. I have written up to three test, links are given below please review them. -JabberProtocolTest: here <https://phabricator.kde.org/D10556> -KopetePluginTest: here <https://phabricator.kde.org/D10612> -QQCryptTest: here <https://phabricator.kde.org/D10160> -- Regards, Himanshu Vishwakarma
D10730: KopetePictureTest
himanshuvishwakarma created this revision. Restricted Application added a project: Kopete. Restricted Application added a subscriber: Kopete. himanshuvishwakarma requested review of this revision. REVISION SUMMARY Test for the class Kopete::Picture in libkopete REPOSITORY R434 Kopete REVISION DETAIL https://phabricator.kde.org/D10730 AFFECTED FILES tests/libkopete/CMakeLists.txt tests/libkopete/kopetepicturetest.cpp To: himanshuvishwakarma Cc: #kopete, cochise
D10730: KopetePictureTest
himanshuvishwakarma added reviewers: pali, vijaykrishnavanshi. himanshuvishwakarma added subscribers: pali, vijaykrishnavanshi. REPOSITORY R434 Kopete REVISION DETAIL https://phabricator.kde.org/D10730 To: himanshuvishwakarma, pali, vijaykrishnavanshi Cc: vijaykrishnavanshi, pali, #kopete, cochise
Looking for mentor of Kopete in GSoC-2018
Hi Everyone, I am looking for a mentor for the project "Write tests and Improve protocol support" for the kopete. I am already working on the project, this SoK and further want to continue the project in GSoC also, but due to the absence of the mentor, it is currently in dilemma. My current mentor in SoK is not going to mentor me in GSoC. It is a good opportunity for me to take the development of Kopete application forward. The major task which is going to do in the GSoC-2018 are following: - Write the test of all the important class of the libkopete like KopetePluginManager, ManagedConnectionAccount, FileTransferInfo, ConnectionManager and many others. and also need the test of protocol classes like the Jabber protocol, Gadu protocol, and others. - Improve the protocol support. Remove outdated technology from the protocol and implement the some new like, replace the OTR with the OMEMO. Old protocol needed to remove, like AIM protocol. some more protocol neede to improvement like the skype need the plugin. - Resolve the issue of the connecting problem in the login account and restarting the application and some other bugs are in the kopete. - Improvement in the workflow of the application and make it easier to use. - Kopete application needed a good documentation. Present documentation is very old it needed some improvement. Can anyone mentor me this GSoC? Important link to work is done in Kopete during the season of KDE(SoK) are follows: Link to Project Idea: here <https://community.kde.org/GSoC/2018/Ideas#Kopete> Link to blog: here <http://blog.himvish997.com/2018/01/season-of-kde-2018.html> Link to weekly Status Reports: here <https://marc.info/?t=15159341611&r=1&w=2> Link to Kopete Repository: here <https://cgit.kde.org/kopete.git> -- Regards, Himanshu Vishwakarma