From Fedora Project Wiki

Task for volunteers

Complexity: approx. 20h

Contact person: Honza Horak <hhorak AT redhat.com>

Description: beakerlib is a shell library that can be used for writing various range of tests. Get familiar with the tool.

Then choose one of the Fedora components (package) from the table bellow. For chosen component do the following:

  • get familiar with the component
  • design and implement set of smoke tests for the chosen component
  • feel free to get inspired by comment by every component
  • focus on the most common use cases
  • implement as many use cases as possible

(use virtual machine for testing, since it may be dangerous to run tests on your working machine)

Expected result: One or more shell scripts that use beakerlib, will be licensed under GPLv2+.

package/component suggested test
libdb create DB file, implement write/read operation in C
mariadb start/stop server; prepare random testing user/DB name; create user, DB, table; insert few values to DB; read those values
mongodb start/stop server; prepare random testing DB name; create DB, collection; insert few values to DB; read those values
mutt prepare shell script that will simulate sendmail, but only prints input to some file; use various cli arguments of mutt
mysql start/stop server; prepare random testing user/DB name; create user, DB, table; insert few values to DB; read those values
postgresql start/stop server; prepare random testing user/DB name; create user, DB, table; insert few values to DB; read those values
ruby choose some of basic rubygems and prepare few ruby scripts that verify the ruby utility works
scl-utils get familiar with SCL concept (http://softwarecollections.org) write a spec file for a meta package and one package that would simulate collection. Build it and try to run some simple program in the collection.
v8 prepare simple javascript program and expected output; execute the program using v8 binary; try to do the same from dynamic languages (python, ruby)
NIS (components ypserv, ypbind, yp-tools) write a test that configures ypserv and ypbind on the same computer, runs ypserv/ypbind services and execute few commands from yp-tools package.