Difference between revisions of "Automated Testing - Suggestions"

From Rosalab Wiki
Jump to: navigation, search
(The tests need to be updated)
m (The System)
Line 6: Line 6:
 
# It creates virtual machines (currently based on qemu-kvm) and checks that the OS boots in Live mode from the ISO images on these machines.
 
# It creates virtual machines (currently based on qemu-kvm) and checks that the OS boots in Live mode from the ISO images on these machines.
 
# It automatically installs the OS to these virtual machines from the ISO images and performs several basic adjustments and checks. For example, it checks whether SSH connection to the machine is working, tries to enable the default package repositories and perform a package update, etc.
 
# It automatically installs the OS to these virtual machines from the ISO images and performs several basic adjustments and checks. For example, it checks whether SSH connection to the machine is working, tries to enable the default package repositories and perform a package update, etc.
# [http://docs.python.org/2.7/library/unittest.html Python inittest] is used to run functional tests on the live and installed systems.
+
# [http://docs.python.org/2.7/library/unittest.html Python unittest ("PyUnit")] is used to run functional tests on the live and installed systems.
 
# The results of the above steps are available [http://fba.rosalinux.ru/autotest/ at FBA]
 
# The results of the above steps are available [http://fba.rosalinux.ru/autotest/ at FBA]
  

Revision as of 15:24, 27 June 2013

The System

The automated testing system for ROSA Linux distros operates as follows:

  1. It looks for the new ISO images for the appropriate distros on ABF. If they are found, it downloads the images to a local machine.
  2. It creates virtual machines (currently based on qemu-kvm) and checks that the OS boots in Live mode from the ISO images on these machines.
  3. It automatically installs the OS to these virtual machines from the ISO images and performs several basic adjustments and checks. For example, it checks whether SSH connection to the machine is working, tries to enable the default package repositories and perform a package update, etc.
  4. Python unittest ("PyUnit") is used to run functional tests on the live and installed systems.
  5. The results of the above steps are available at FBA

All this is currently done for ROSA Desktop Fresh, both 32- and 64-bit.

Suggestions

Listed here are the suggestions collected so far about the tests and the system features that could be useful, in no particular order.

Profiles

  • Profile for ROSA Desktop Fresh GNOME Edition
  • Profile for ROSA Desktop Fresh LXDE Edition

Installation Options

  • /var on a separate partition
  • Installation on a RAID

Kernels

  • It could be useful to test the ROSA distros with different kernel flavours available for them.

Tests

  • Xfstests and/or other file system tests - at least for ext4 FS, other file systems can also be tested this way in the future
    • ext4 with default mount options
    • ext4 with noatime and discard (commonly used for the FS on SSD drives)
    • btrfs
    •  ? XFS
    •  ? ReiserFS + Reiser4
    • fat/vfat (USB Frash drives)
    •  ? iso9660
    •  ? UDF
    • NTFS (with FUSE-based driver)
    •  ? SquashFS
    • CIFS
    •  ? NFS
  • LSB test suites (see LSB Distribution Checker) - at least libcheck and cmdcheck.
  • Mozmill tests - at least for Firefox (similar to how it is done in OpenQA for OpenSUSE)
  • Checking for errors in the kernel modules with KEDR tools
  • Regression tests for some of the bugs fixed in the distros
  •  ? Fuzz tests like Trinity, etc. (may be destructive)
  • Check the selected software, esp., the software developed by ROSA, for memory-related errors. The tests may be based on Valdrind's Memcheck or other tools.
  •  ? (What else?)

Benchmarks

  •  ? (Are they really needed here?)

Enhancements

  • Possibility run test for specified iso-image + update specified package from specified repository. For example, we would like to use autotest for testing ROSA utilities like SimpleWelcome (development version).

Comments: it is already possible to use a particular ISO image rather than the newest one. It is also possible to write Autotest scenarios that enable the given repositories, update the specified packages from these repositories and test that software.

This is now possible. See the description and the tutorials here: English Russian

  • Distinction of known and unknown failures.
  • Enhancements of the report generation mechanism in Autotest:
    • Fix broken links in the generated pages (dmesg, etc.).
    • Show the description of the tests in the report.
    • Something to make it easier to see how exactly the tests have failed (currently, it is needed to look through the logs).
  • When the repository for pending updates is available, it will be useful to add it on the client machines to check the updates early.

Development

The sources of the system are available at ABF.