How do we test the modules and drivers(like USB,I2C,HDMI etc..) of a Linux kernel running in a target board? is there any tools/frameworks doing the job? i found this thread.Can anyone suggest me the best one? thanks in advance...
- What is your actual goal? Which exactly part of kernel you are intended to test? And what exactly you want to achieve by this testing?Sam Protsenko– Sam Protsenko2015-05-19 09:41:33 +00:00Commented May 19, 2015 at 9:41
- @SamProtsenko .. my aim is to ensure that all the device drivers and inserted modules working fine in my machine. in other words i want to test the functionalists of the drivers with any automated testing framework. my linux kernel is running in an ARM based (say) target board like pandaboardzappy– zappy2015-05-19 10:21:16 +00:00Commented May 19, 2015 at 10:21
1 Answer
I doubt that there is any solution exists for this purpose. Each maintainer should test his driver, and how each maintainer does it -- it's up to him. The thing is, it would involve a ton of hardware in order to test all the drivers in kernel.
You are using Panda board, which is OMAP-based board, and the general approach for testing drivers on OMAP-based platforms is to use DDT (Device Driver Test). See DDT at OmapPedia and DDT repository. Btw, you should hurry to clone that DDT repository from Gitorious, because Gitorious is closing in the end of the May and I didn't find any clones of that repo.
Further, if you are interested in running Android on your board, you should run CTS (Compatibility Test Suite).
All that I listed above were used by our testing team when I was working for TI, so I think it should be applicable nowadays as well.
UPDATE
Also I remember that our testers were using this device: phidget. You may need to acquire one for testing purposes.
UPDATE 2
Take a look at Linaro's LKFT (Linux Kernel Functional Test). It's more about testing syscalls from user-space, so maybe not strictly relevant to your question, but still worth mentioning. It runs kselftest (can be found in kernel source code) and LTP project mainly. You can run the same tests for your board. It can be also automated using Jenkins and LAVA.