Meego Wiki
Views

Quality/TestSuite/Framebuffer Test Specification

From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
(Documentation)
(Known issues)
Line 133: Line 133:
= Known issues =
= Known issues =
-
* Link to open bugs on meego bugzilla
+
* The backlight cases take a lot of time. These cases try to go through all defined backlight levels. Might be better to define amount of steps or something similar into configuration.
-
* Other known issues listed
+
* Check for open bugs: [http://bugs.meego.com/buglist.cgi?classification=MeeGo%20Projects&query_format=advanced&bug_status=NEW&bug_status=NEEDINFO&bug_status=ASSIGNED&bug_status=WAITING%20FOR%20UPSTREAM&bug_status=REOPENED&component=MeeGo%20Core%20Test%20Suite&product=MeeGo%20QA%20Test%20Suite MeeGo Core Test Suite Bugs]
= Future improvements =
= Future improvements =

Revision as of 16:24, 17 December 2010

Contents

Introduction

Overview

The framebuffer device is a device-independent interface for reading and writing raw data to the video memory. Uses of the device typically include things like text consoles, graphical boot progress indicators and so on. It is also possible to use the framebuffer device as a X11 window system display device.

The framebuffer device is typically used by memory-mapping the device file. The fbdev kernel driver translates any operations to the device-specific display driver. The blts-fbdev-tests asset tests the functionality and performance of this subsystem.

The display backlight driver registers a sysfs based directory upon device activation. This is how the blts-fbdev-tests asset uses the backlight system to change display brightness.

Getting the Latest Version

Sources can be found in gitorius:

To clone a copy of the repository, see guides in:

Latest binary release is planned to be available via MeeGo OBS, see MeeGo Build Infrastructure for more information.

Support & Contacts

Documentation

Check the package README file (essentially contains same info as this page):

Licensing

  • Please see the file called COPYING

Supported Devices and SW

  • List of supported (+ not supported devices, if needed for clarity)
    • Versions
    • Info about what is known to work

Supported

  • N900
  • nCDK Medfield (starting from version x.z)

Not supported

  • Netbook
  • Info about supported MeeGo releases (?)

Test Cases

  1. Core-Framebuffer read frame buffer information with ioctl
    Reads variant and fixed screen information from frame buffer device(s).
  2. Core-Framebuffer set blanking levels
    Tests each of the blanking levels on all configured framebuffer devices.
  3. Core-Framebuffer 1-pixel uncached read
    Performance test of reading visible framebuffer pixel by pixel. Uses rusage to estimate the CPU usage %. Prints information about the test and framebuffer into the log and standard output. Done for all configured framebuffer devices.
  4. Core-Framebuffer 1-pixel uncached write
    Performance test of writing into visible framebuffer pixel by pixel. Uses rusage to estimate the CPU usage %. Prints information about the test and framebuffer device into the log and standard output. Done for all configured framebuffer devices.
  5. Core-Framebuffer 1-pixel uncached modify
    Performance test of both reading and vriting into visible framebuffer pixel by pixel. Uses rusage to estimate the CPU usage %. Prints information about the test and framebuffer into the log and and stadard output. Done for all configured framebuffer devices.
  6. Core-Framebuffer fullscreen buffer read
    Performance test of reading a fullscreen framebuffer at once. Uses rusage to estimate the CPU usage %. Prints information about the test and framebuffer into the log and standard output. Done for all configured devices.
  7. Core-Framebuffer fullscreen buffer write
    Performance test of writing into a fullscreen framebuffer at once. Uses rusage to estimate the CPU usage %. Prints information about the test and framebuffer into the log and standard output. Done for all configured devices.
  8. Core-Framebuffer fullscreen buffer modify
    Performance test of both reading and writing into a fullscreen framebuffer at once. Uses rusage to estimate the CPU usage %. Prints information about the test and framebuffer into the log and standard output. Done for all configured devices.
  9. Core-Backlight verify backlight levels
    Verify backlight system's backlight level limits against configured limits. Tests the limit values, by using the actual limit and going one step over it.
  10. Core-Backlight linear backlight level changes
    Linearly goes through all values between configured minimum and maximum values, by first going from min -> max and then from max -> min. NOTE: This case can timeout if the min and max are very big. The case sleeps for two seconds between each step.
  11. Core-Backlight logarithmic backlight level changes
    Goes through all values between configured minimum and maximum values, by going from min -> max. The values are increased by following pattern: (max light / log10 (max light)) * log10 (between min and max). NOTE: This case can timeout if the min and max are very big. The case sleeps for two seconds between each step.

Coverage

blts-fbdev-tests (0.0.8) is testing Linux kernel framebuffer ioctls and backlight subsystem via sysfs.

Current framebuffer coverage matrix:

Running the Tests

Hardware setup and test environment

  • What SW is needed? What packages need to be installed? What versions?
  • What HW is needed? What versions?
  • How to get accurate measurement results?
  • Step-by-step guide for checking that prerequisites are met
    • HW version
    • Installed packages
    • Etc.

Building packages

The build environment must have the following packages installed:

The source package includes the pack.sh script, which is used for building RPM and Debian packages and source tar packages. To build an RPM package with the script, execute this command in the top level source directory of asset:

./pack.sh -r

To get help about the packaging script, execute

./pack.sh -h

The asset can also be built manually by executing:

./autogen.sh
./configure
make

Running test cases

  • Step-by-step instructions how to execute tests with an example
  • Root or user privileges?
  • What to do if something goes wrong?
    • How to run in debug mode?
    • What to look in log files?

Test result analysis

  • Where are the results?
  • Log files?

Troubleshooting

  • What to do if something fails?
  • What to check first?

Configuration file examples

  • Configuration file explained
  • Example of configuration file

Module Design and Architecture

Architecture

The test asset (blts-fbdev-tests) is built directly on top of the Linux kernel. Backlight tests use sysfs to test the functionality. The asset has been test to work with at least following Linux kernel versions: 2.6.28, 2.6.31 and 2.6.32.

Known issues

  • The backlight cases take a lot of time. These cases try to go through all defined backlight levels. Might be better to define amount of steps or something similar into configuration.
  • Check for open bugs: MeeGo Core Test Suite Bugs

Future improvements

  • List of planned future improvements
  • Later, link to backlog items to be done

References

Personal tools