Linux Functional Test Bench (LFTB)
From Texas Instruments Embedded Processors Wiki
Linux PSP Functional test bench (LFTB) overview
Part 1 -
- LFTB Overview
- Motivation
Part 2 -
- Requirements, non requirements
- Design
- Directory structure
- Test case flow
Part 3 -
- Test suites
- V4L2 display test suite - Test setup, features, build and execution.
- V4L2 capture test suite - Test setup, features, build and execution.
- Fbdev dipslay test suite - Test setup, features, build and execution.
- Resizer test suite - Test setup, features, build and execution.
- PWM test suite - Test setup, features, build and execution.
Part 4 -
- Sample demos.
LFTB Overview(1/3)
- LFTB stands for Linux PSP functional test bench.
- Linux PSP functional Test Bench (LFTB) is a collection of device driver test suites for validating the functionality of the Linux PSP device drivers.
- Look and feel similar to any Linux open source tool or utility
- Supports stress, stability and API tests in addition to the functional/feature testing.
- Supports execution through command line or scripts.
- LFTB is simple, easy to debug, maintain and support
LFTB Overview(2/3)
LFTB Supports -
- PSP/LSP Products
- LSP 2.0, OMAP35x and OMAP35x GIT.
- Platforms
- OMAP35x, DM644x, DM646x and DM355.
- Utilities
- Logging, Timer and CPU load.
- Documents
- User guide, Architecture guide, Release notes and READMEs for each test suite.
LFTB Overview(3/3)
LFTB positioning with respect to PSP
Motivation
- Deliver Test Code with PSP SDK
- Plans to deliver to open source
- Test Tool that can be used by FAEs / Developers / Customers
- Uniform mechanism of developing test cases for PSP
- Usability across different Automation Frameworks including Open source tools
- Run time Configurability
End of Part 1
Part 1 ends here
Requirements(1/2)
- Independent Target based utility
- Linux utility like look and feel
- Shall support different Linux PSPs with different platforms
- Run time configurable (no hard coding of automation parameters)
- Shall be pluggable with any host based automation framework
- Documentation support – User guide, architecture document, Release notes and READMEs.
Requirements(2/2)
- Shall support target side logging with different types of logging.
- Linux Coding guidelines
- Shall package sample scripts to enable automation
- Parameters may be passed via command line or else the test should run with default parameters
- Uniform directory structure for all test suites
- Architecture should support reuse of test cases (if applicable) across different platforms.
Non-Requirements
- Portability across OS is not a requirement in the implementation. The design should account for portability across linux like OSes.
- Test case ID shall not be hard coded.
Design
LFTB Design(Architecture Block diagram)
Directory structure
LFTB test suite- directory structure
Test case flow
LFTB Typical test case flow
Advantages of LFTB
- Support for multiple TI platforms in the same package
- Ease of portability across platforms
- Ease of use
- All test suites follow an uniform and consistent way of implementation, directory structure and build mechanism.
- Good tool to carry out independent target side validation.
- Scripts enabling the support for automation.
- Test cases can be added on the fly by making script changes with out the need to change the test code.
End of Part 2
Part 2 ends here
V4L2 display test suite - Test setup
V4L2 display test setup
V4L2 display test suite - Features
Features (Super set)-
- LCD and TV out selectable as a command line option.
- Support for multiple video pipelines (Device node selectable at command line)
- Support for different standards (SD, HD and ED – Selectable via command line)
- Support for different interfaces (S-Video, composite, component – Selectable via command line)
- Support for configuring resolution (width and height via command line)
- Display with Rotation (90, 180, 270) enabled/disabled.
- Display with mirroring enabled/disabled.
V4L2 display test suite - Build
- Set the following variables in Makefile to appropriate paths –
- KERNEL_DIR (Kernel path)
- TOOL_PREFIX (Tool chain path)
- Build command for OMAP35x platform
- make PLATFORM=OMAP35x
- Build command for OMAP35x GIT
- make PLATFORM=OMAP35x_GIT
- Build command for DM646x platform
- make PLATFORM=DM646x
- Build command for DM644x platform
- make PLATFORM=DM644x
V4L2 display test suite - some sample command line options
| option | Long option | Description |
|---|---|---|
| -w | --width | Width of the image/pattern to be displayed |
| -h | --height | Height of the image/pattern to be displayed |
| -d | --displaynode | V4L2 Device node to be used for display |
| -c | --countofbuffers | Number of buffers to enqueue |
| -n | --noofframes | Number of frames to be displayed |
| -p | --pixelformat | Pixel format |
NOTE- Please refer to the README or use the --help option to get a complete list of all supported options with brief description.
V4L2 display test suite - some execution logs
V4L2 display test - some execution logs
End of Part 3a
Part 3a ends here
V4L2 capture test suite - Test setup
- V4L2 capture test setup
V4L2 capture test suite - Features
Features (Super set)-
- Support for loopback (Display on LCD or TV based on platform support)
- Support for writing a selected frames to files.
- Support for configuring device node at command line.
- Support for different standards (SD, HD and ED – Selectable via command line)
- Support for different interfaces (S-Video, composite, component – Selectable via command line).
V4L2 capture test suite - Build
- Set the following variables in Makefile to appropriate paths –
- KERNEL_DIR (Kernel path)
- TOOL_PREFIX (Tool chain path)
- Build command for OMAP35x platform
- make PLATFORM=OMAP35x
- Build command for OMAP35x GIT
- make PLATFORM=OMAP35x_GIT
- Build command for DM646x platform
- make PLATFORM=DM646x
- Build command for DM644x platform
- make PLATFORM=DM644x
V4L2 capture test suite - some sample command line options
| option | Long option | Description |
|---|---|---|
| -d | --displaynode | V4L2 Device node to be used for capture |
| -D | --displayorwrite | Option to select whether to display captured image or write to file |
| -n | --noofframes | Number of frames to be captured and displayed |
| -f | --filename | File to be used for writing |
NOTE- Please refer to the README or use the --help option to get a complete list of all supported options with brief description.
V4L2 capture test suite - some execution logs
V4L2 capture test - some execution logs
End of Part 3b
Part 3b ends here
Fbdev display test suite - test setup
Fbdev display test setup
<img src="v4l2_display_test_setup.JPG" alt="v4l2_display_test_setup.JPG" width='879' height='521' />
Fbdev display test suite - Features
Features (Super set)-
- LCD and TV out selectable as a command line option.
- Support for multiple OSD windows (Device node selectable at command line)
- Support for different standards (SD, HD and ED – Selectable via command line)
- Support for different interfaces (S-Video, composite, component – Selectable via command line)
- Support for configuring resolution (width and height via command line)
Fbdev display test suite - Build
- Set the following variables in Makefile to appropriate paths –
- KERNEL_DIR (Kernel path)
- TOOL_PREFIX (Tool chain path)
- Build command for OMAP35x platform
- make PLATFORM=OMAP35x
- Build command for OMAP35x GIT
- make PLATFORM=OMAP35x_GIT
- Build command for DM644x platform
- make PLATFORM=DM644x
Fbdev display test suite - some sample command line options
| option | Long option | Description |
|---|---|---|
| -w | --width | Width of the image/pattern to be displayed |
| -h | --height | Height of the image/pattern to be displayed |
| -n | --devicename | Fbdev device node to be used for display |
| -f | --noofframes | Number of frames to display |
NOTE- Please refer to the README or use the --help option to get a complete list of all supported options with brief description.
Fbdev display test suite - some sample execution logs
Fbdev display test execution logs
End of Part 3c
Part 3c ends here
Resizer test suite - test setup
Resizer test setup
Resizer test suite - Features
Features (Super set)-
- Supports both upscaling and downscaling.
- Support for taking different input width and height through command line.
- Support for giving different output width and height through command line.
- Support to specify filenames for input and output files.
Resizer test suite - Build
- Set the following variables in Makefile to appropriate paths –
- KERNEL_DIR (Kernel path)
- TOOL_PREFIX (Tool chain path)
- Build command for OMAP35x platform
- make PLATFORM=OMAP35x
- Build command for OMAP35x GIT
- make PLATFORM=OMAP35x_GIT
- Build command for DM644x platform
- make PLATFORM=DM644x
Resizer test suite - some sample command line options
| option | Long option | Description |
|---|---|---|
| -d | --devicenode | Resizer device node |
| -i | --inputfile | Name of input file |
| -w | --inputwidth | Width of input file |
| -h | --inputheight | Height of input file |
| -o | --outputfile | Name of output file |
| -W | --outputwidth | Width of output file |
| -H | --outputheight | Height of output file |
NOTE- Please refer to the README or use the --help option to get a complete list of all supported options with brief description.
Resizer test suite - some sample execution logs
Resizer test - some sample execution logs
End of Part 3d
Part 3d ends here
PWM test suite - test setup
PWM test setup
PWM test suite - Features
Features (Super set)-
- Supports command line option for device node configuration.
- Command line options for configuring different values of pulse width duration and period.
- Configuration of modes(one shot or continous), phase state and inact out states through command line.
PWM test suite - Build
- Set the following variables in Makefile to appropriate paths –
- KERNEL_DIR (Kernel path)
- TOOL_PREFIX (Tool chain path)
- Build command for DM646x platform
- make PLATFORM=DM646x
- Build command for DM644x platform
- make PLATFORM=DM644x
- Build command for DM355 platform
- make PLATFORM=DM355
PWM test suite - some sample command line options
| option | Long option | Description | |
|---|---|---|---|
| -d | --displaynode | Device node on which test is to be run | |
| -I | --period | Period | |
| -i | --duration | Pulse width duration | |
| -m | --mode | Mode of operation - one shot or continous mode |
NOTE- Please refer to the README or use the --help option to get a complete list of all supported options with brief description.
PWM test suite - some sample execution logs
PWM test - some sample execution logs
End of Part 3e
Part 3e ends here
Demos(1/2)
LFTB V4L2 display test suite execution output on OMAP35x LCD(color bar, natural image display(a yuv video clip)in order)
Demos(2/2)
LFTB Fbdev display test suite execution output on Da8xx(Primus) GLCD(Squares,chess board pattern,natural image(a hen)in order)
LFTB Links
Recording of the Presentations
See WebEx recording of LFTB WebEx presentations.
Leave a Comment





