Home | History | Annotate | Download | only in user_space
      1 
      2            v4l-test: Test environment for Video For Linux Two API
      3 
      4 Release History
      5 ---------------
      6 23 Jul 2009  0.17 Test cases added for VIDIOC_ENUM_FRAMESIZES and
      7                   VIDIOC_G_JPEGCOMP. New V4L2_PIX_FMT_* formats also
      8                   used in test cases.
      9  6 Jul 2009  0.16 Iterate through all available inputs in VIDIOC_G_STD and
     10                   VIDIOC_S_STD test cases
     11 25 May 2009  0.15 Test cases added for VIDIOC_G_EXT_CTRLS, VIDIOC_S_EXT_CTRLS
     12                   and VIDIOC_TRY_EXT_CTRLS
     13  7 May 2009  0.14 Test cases added for VIDIOC_QUERYBUF;
     14                   Debug functions separated
     15 29 Apr 2009  0.13 Added string content validation;
     16                   Test cases added for VIDIOC_REQBUFS
     17 19 Apr 2009  0.12 Test cases added for VIDIOC_S_FMT;
     18                   NULL parameter test suite split to read only, write only
     19                   and write/read ioctl suite;
     20                   More verbose debug output in VIDIOC_S_FREQUENCY and in some
     21                   other test cases;
     22                   More strict check added for strings in different test cases
     23  9 Apr 2009  0.11 Test cases added for VIDIOC_G_OUTPUT, VIDIOC_S_OUTPUT,
     24                   VIDIOC_G_FMT, VIDIOC_G_SLICED_VBI_CAP, VIDIOC_QUERYMENU;
     25                   Cleaned up ret and errno variable names;
     26                   Separated the NULL parameter test cases to a spearated testsuite
     27                   and reworked most of the NULL parameter test cases;
     28                   Added camera enabling through /sys/devices/platform/eeepc/camera;
     29                   Added results page to documentation;
     30                   Follow kernel API changes in video_dummy.ko
     31 18 Mar 2009  0.10 Test cases added for VIDIOC_G_PARM;
     32                   Duplicated test for V4L2_BUF_TYPE_VIDEO_CAPTURE removed in
     33                   VIDIOC_ENUM_FMT test
     34 14 Mar 2009  0.9  Test cases added for VIDIOC_S_CROP;
     35                   Test steps added for VIDIOC_S_CTRL
     36 22 Feb 2009  0.8  Test cases added for VIDIOC_G_CROP, VIDIOC_G_CTRL and VIDIOC_S_CTRL
     37  9 Feb 2009  0.7  Test cases added for VIDIOC_G_AUDIO, VIDIOC_G_AUDOUT,
     38                   VIDIOC_S_AUDIO and VIDIOC_G_CROP;
     39                   Added video_dummy kernel driver to verify the test
     40                   environment;
     41                   Some cleanup
     42  4 Feb 2009  0.6  Test cases added for VIDIOC_G_AUDIO, VIDIOC_G_AUDOUT,
     43                   VIDIOC_G_MODULATOR, VIDIOC_G_PRIORITY, VIDIOC_S_PRIORITY
     44                   and VIDIOC_S_FREQUENCY
     45 31 Jan 2009  0.5  Test cases added for VIDIOC_QUERYSTD, VIDIOC_G_FREQUENCY
     46                   and VIDIOC_G_TUNER
     47 24 Jan 2009  0.4  Test cases for MAX_EM28XX_INPUT, MAX_EM28XX_TVNORMS removed;
     48                   some typos fixed
     49  4 Jan 2008  0.3  Test cases for VIDIOC_ENUMOUTPUT, VIDIOC_ENUMAUDOUT,
     50                   VIDIOC_QUERYCTRL added;
     51                   New test cases for VIDIOC_ENUMAUDIO, VIDIOC_ENUM_FMT,
     52                   VIDIOC_ENUM_STD
     53 22 Dec 2008  0.2  Test cases with NULL parameter added;
     54                   Test cases for VIDIOC_CROPCAP added
     55 18 Dec 2008  0.1  First release
     56 
     57 Written by Mrton Nmeth <nm127 (a] freemail.hu>
     58 Released under GPL
     59 
     60 What is this?
     61 -------------
     62 v4l-test is a test environment for V4L2 drivers. The V4L2 drivers
     63 are running under Linux in kernel space. This test environment is running
     64 in userspace and tries what normal video application would do. It also
     65 tries some things which are supposed to test the error handling mechanisms
     66 of a V4L2 driver. These are the "invalid test cases".
     67 
     68 The V4L2 API only covers webcams and analog tuner cards, the digital broadcast
     69 is out of the scope of V4L2 API so it is also out of the scope of this test
     70 environment. See Linux DVB API at http://linuxtv.org/docs/dvbapi/dvbapi.html
     71 for digital broadcast and Chapter 6.3 "Relation of V4L2 to other Linux multimedia APIs"
     72 in V4L2 specification.
     73 
     74 How to build?
     75 -------------
     76 To build the test environment you will need a C compiler, "make" and the
     77 CUnit development files installed. Just type "make" and the test environment
     78 is ready.
     79 
     80 How to run?
     81 -----------
     82 You need to have a video device (i.e. webcam, tuner card, etc.) connected
     83 to your system and available under /dev/video0. If you don't have any
     84 hardware device available, you can still test the "Virtual Video Driver".
     85 To compile this you need to compile your kernel with CONFIG_VIDEO_VIVI=m
     86 under:
     87 
     88   -> Device Drivers
     89     -> Multimedia devices
     90       -> Video For Linux
     91         -> Video capture adapters
     92          -> Virtual Video Driver
     93 
     94 At this point you can execute v4l-test.
     95 
     96 Video for Linux Two Specification
     97 ---------------------------------
     98 The V4L2 API specification can be found at http://v4l2spec.bytesex.org/spec/ .
     99 Revision 0.42 of V4L2 is the base for this test environment.
    100 
    101 Code Coverage
    102 -------------
    103 The code coverage shows which lines of the code were executed and how many
    104 times. The measurement results gives you a feedback about the quality of
    105 the test cases.
    106 You can measure the code coverage of a kernel module with the gocv and lcov
    107 softwares. See http://ltp.sourceforge.net/coverage/gcov.php and
    108 http://ltp.sourceforge.net/coverage/lcov.php for details.
    109 
    110 Current status
    111 --------------
    112 Currently all test are running and evaluated automatically. This might
    113 change in future if we want to test for example plugging and unplugging
    114 a USB video device or ask the user if a received picture make sense or not.
    115 
    116 See doc/index.html about how much of the specification is covered by the
    117 different test cases.
    118 
    119 See also
    120 --------
    121 See also doc/index.html for further references and recommended readings.
    122 
    123 Feedbacks
    124 ---------
    125 Any feedbacks, comments, ideas, etc. are welcome at the author's
    126 email address: Mrton Nmeth <nm127 (a] freemail.hu>.
    127