+++ /dev/null
-################################################
-
-Using GCC's code coverage tool, gcov, with udev
-
-Leann Ogasawara <ogasawara@osdl.org>, April 2004
-
-################################################
-
-For more information on using gcov please see:
-
-http://gcc.gnu.org/onlinedocs/gcc/Gcov.html
-
-With that said, here is how to get code coverage analysis for udev files.
-Note that this was developed with udev version 024.
-
-- Make sure you've installed udev and that it is working properly.
-
-- Build udev with:
- make gcov-all
- This will compile udev with gcov support. If you look into your udev directory
- and see that it has been polluted with a bunch of *.gcno, *.gcda and *.gcov files.
- gcov creates and uses these files to extract the code coverage info.
-
-- Then execute some udev tasks. You can run some udev tests, reboot, or
- do anything your little udev heart desires. Once you are satisfied, you
- can now see how much udev code was covered. I personally recommend just
- running test/udev-test.pl for starters.
-
-- To get the udev code coverage analysis:
- make udev_gcov.txt
-
-- This creates udev_gcov.txt in the udev top level directory which holds all
- the code coverage information. To see an example of the code coverage info
- after executing the udev-test.pl test, please see:
-
- http://developer.osdl.org/ogasawara/gcov_for_udev/udev_gcov.txt
-
-- Also, after having executed gcov on udev (ie executing run_gcov.sh) a
- *.gcov file is created for every file which contained code that was
- used. Looking at the *.gcov files, one will see what lines of code
- were hit, and what lines were missed. For, example if code in udev-add.c
- were executed, gcov then created a file called udev-add.c.gcov. And a
- portion of udev-add.c.gov might look like:
-
- static int get_major_minor(struct sysfs_class_device *class_dev, struct udevice *udev)
- 95 {
- 95 struct sysfs_attribute *attr = NULL;
-
- 95 attr = sysfs_get_classdev_attr(class_dev, "dev");
- 95 if (attr == NULL)
- ###### goto error;
- dbg("dev='%s'", attr->value);
-
- 95 if (sscanf(attr->value, "%u:%u", &udev->major, &udev->minor) != 2)
- ###### goto error;
- dbg("found major=%d, minor=%d", udev->major, udev->minor);
-
- 95 return 0;
- error:
- ###### return -1;
- }
-
- Any line of code that is preceded by a "######" implies that the code
- was never hit during execution.
-
-- Once you are done with using gcov for udev and want to return to your
- normal use of udev, run a regular 'make clean' on your udev directory.
- Then just run a regular make and make install and you are back to normal.