OMAP Kernel driver tests

From OMAPpedia

(Difference between revisions)
Jump to: navigation, search
 
Line 50: Line 50:
* See the readme file at the top level device_driver_test for more details.
* See the readme file at the top level device_driver_test for more details.
-
Note: Code Sourcery Toolchain is required for compilation. Successfully tested with 2010q1-202 version
+
Note: Code Sourcery Toolchain is required for compilation. Successfully tested with 2010q1-202 version.
 +
 
Note: Please install '''gengetopt''' '' "sudo apt-get install gengetopt" '' or remove '''audio-alsa''' from TESTSUITES in .config file.
Note: Please install '''gengetopt''' '' "sudo apt-get install gengetopt" '' or remove '''audio-alsa''' from TESTSUITES in .config file.

Latest revision as of 08:50, 2 October 2012

This is the device driver test (DDT) page, part of the Linux OMAP Project.

Contents

[edit] Introduction

This page provides a general overview of the test and test automation tools used for the OMAP Linux Kernel software development.

[edit] Device driver test code

Test cases for OMAP specific device drivers are written and maintained in a separate git tree.

Old repository: device_driver_test[1]

New repository: omap-ddt[2]

[edit] DDT cloning information

New repository at gitorious.org

git clone git://gitorious.org/omap-ddt/omap-ddt.git

Branches:

master branch is the main development tree and others branches are meant to support specific Kernel revisions. Changes or patches applicable across the branches will be cherry-pick from master branch.

[edit] Structure of device driver test code

[edit] Compiling the test code

 * Export CROSS_COMPILE=arm-none-linux-gnueabi-
 * Export KDIR=[PATH-TO-KERNEL]
 * Export HOST=arm-none-linux-gnueabi
 * Export TESTSUITES=<driver_x>
   Driver_x=The driver for which the testsuite is to be built
   Use "all" for building the entire testsuite
 * Export TESTROOT=<output dir><output dir>
 * cd omap-ddt/
 * make

Note: Code Sourcery Toolchain is required for compilation. Successfully tested with 2010q1-202 version.

Note: Please install gengetopt "sudo apt-get install gengetopt" or remove audio-alsa from TESTSUITES in .config file.

[edit] Target Filesystem setup

ANDROID USERS:

1. Download Busybox and Bash from DailyBuild

  <daily build path>/extras/busybox.tar.bz2
  <daily build path>/extras/bash.tar.bz2

2. Untar both packages in your HOST machine

  tar -xjvf busybox.tar.bz2
  tar -xjvf bash.tar.bz2

3. Copy Bash binary into busybox/bin/ 4. Flash busybox into /data partition of target filesystem 5. Verify that busybox tools have executable permissions

  chmod 777 /data/busybox/bin/*
  chmod 777 /data/busybox/sbin/*

6. Add Busybox to the global PATH variable

  PATH:/data/busybox/bin:/data/busybox/sbin:$PATH

7. Create symlinks for scripts executions

  mount -o remount rw /
  ln -s /data/busybox/bin /bin
  ln -s /data/busybox/sbin /sbin

Troubleshooting:

  Delete /data/busybox/bin/rmmod to use the default
  Android rmmod tool under /system/bin/
  Delete /data/busybox/bin/reboot to use the default
  Android reboot tool under /system/bin/

[edit] Executing test cases

[edit] Automated tests using TITAN

Titan is a java based test automation tool. It is used in conjunction with OMAP device driver tests to execute the tests repeatedly and automatically. Visit Titan_Test_Automation page for more information

[edit] Additional Notes

 sudo apt-get install flex textinfo
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox