Jump to content

Kexi/Season: Difference between revisions

From KDE Community Wiki
Jstaniek (talk | contribs)
Jstaniek (talk | contribs)
Line 45: Line 45:
===T3: Accustom with autotesting features ===
===T3: Accustom with autotesting features ===
Autotest is a superset of unit test. It can test larger functionality, not just a single function.  
Autotest is a superset of unit test. It can test larger functionality, not just a single function.  
autotest/ subdir is part of kdb/kreport/kproperty/kexi repositories. it's a KDE's standard location.
Autotesting in Kexi and its frameworks are needed because it's a part of golden standard for software development. Also  there in the so many corner cases that are hard to reproduce by hand after every major change made to the source code. Developers need a way to assure stability and keep the cost of development as low as possible. More info: [https://en.wikipedia.org/wiki/Unit_testing Wikipedia].
 
autotest/ subdir is part of kdb/kreport/kproperty/kexi repositories. By convention it's a KDE's standard location.


Also see [[Guidelines_and_HOWTOs/UnitTests]] and [http://doc.qt.io/qt-5/testing-and-debugging.html#autotests Qt docs on testing].
Also see [[Guidelines_and_HOWTOs/UnitTests]] and [http://doc.qt.io/qt-5/testing-and-debugging.html#autotests Qt docs on testing].
Line 56: Line 58:
*Study the source code in autotest/ subdirs
*Study the source code in autotest/ subdirs
*Try to find functions or features not tested and propose one for future implementation (as the mentor)
*Try to find functions or features not tested and propose one for future implementation (as the mentor)


Assigned students: all
Assigned students: all

Revision as of 22:41, 10 November 2016

This is a home page of the Season of KDE / Season of Kexi program.

We are using it to record drafts of our tasks and results.

Welcome abroad! The program is aimed at students starting to contribute to Kexi.

Note: This page is updated with information for the 2016/17 edition

Contact channels

See Kexi/Contact for details.

  • Subscribe and use the usual development channel [email protected].
  • Real time contact: #kexi IRC channel
  • When needed: Skype or google hangouts (please request)

Members

Students:

Mentor:

Project member that can be contacted too:

Tasks

For all tasks please report any difficulties as they appear, share time estimations for your tasks, collaborate with other members.

T0: Getting started

Assigned students: all

T1: Build Kexi

Build kdb/kproperty/kreport frameworks, then Kexi: Kexi/Building. Note: the build instructions are combined with Calligra insteuctions and may be incomplete/ouitdated; you have to deal with this quite realistic situation to learn how to overcome challenges.' Report any difficulties, collaborate during this tasl. Master basic build and debug-related activities to prepare for further tasks.

Assigned students: all

T2: Build mdbtools

Build the original https://github.com/brianb/mdbtools so it is possible to test contributed patches before sending upstream. These builds are not needed for Kexi itself, Kexi.git keeps a copy (snapshot) of mdbtools lib without any extra tools, and the code is possible patched.

Assigned students: all

T3: Accustom with autotesting features

Autotest is a superset of unit test. It can test larger functionality, not just a single function. Autotesting in Kexi and its frameworks are needed because it's a part of golden standard for software development. Also there in the so many corner cases that are hard to reproduce by hand after every major change made to the source code. Developers need a way to assure stability and keep the cost of development as low as possible. More info: Wikipedia.

autotest/ subdir is part of kdb/kreport/kproperty/kexi repositories. By convention it's a KDE's standard location.

Also see Guidelines_and_HOWTOs/UnitTests and Qt docs on testing.

The task: accustom with autotests before you try to write your own.

  • Set the BUILD_TESTING cmake option to enable autotests, then build the projects (no full rebuild is needed)
  • Learn how to run tests and run them (using CMake's ctest program or in Qt Creator [1])
  • Observe the results, make sure every test passes
  • Study the source code in autotest/ subdirs
  • Try to find functions or features not tested and propose one for future implementation (as the mentor)


Assigned students: all

Achievements

Nov 10

  • Priyanshu Jain: found that sdc.py isn't ported to python 3 in kdb.git (unlike in kreport.git)

Collaboration

Often more than student is working within the program. Please collaborate and support each other (IRC, mailing list, Skype). Ability to cooperate is as highly scored as pure technical skills.

Tools