Added Test Coverage topic
authorZhanna Tsitkov <tsitkova@mit.edu>
Wed, 30 Nov 2011 22:28:43 +0000 (22:28 +0000)
committerZhanna Tsitkov <tsitkova@mit.edu>
Wed, 30 Nov 2011 22:28:43 +0000 (22:28 +0000)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@25495 dc483132-0cff-0310-8789-dd5450dbe970

doc/rst_source/krb_build/index.rst
doc/rst_source/krb_build/test_cov.rst [new file with mode: 0644]

index 2de23864e05a87942e7c9076779f3373d2cf47a1..43d3fc2a1342847f1879844714415549e4519a53 100644 (file)
@@ -46,6 +46,7 @@ Contents:
    doing_build.rst
    options2configure.rst
    osconf.rst
+   test_cov.rst
 
 
 
diff --git a/doc/rst_source/krb_build/test_cov.rst b/doc/rst_source/krb_build/test_cov.rst
new file mode 100644 (file)
index 0000000..02769fc
--- /dev/null
@@ -0,0 +1,33 @@
+
+Test coverage
+=================
+
+It is considered good practice to develop and maintain the test suite with high level 
+of test coverage, i.e. the tests that execute every single statement, every line of the code and
+then validate the result.
+
+The GNU's *gcov* is a tool that analyses the frequency of execution of each line of the code.
+For more details see GNU documentation http://gcc.gnu.org/onlinedocs/gcc/Gcov.html
+
+To invoke *gcov* on *krb5* tree, do *configure* with the following options and run the tests::
+
+    ./configure CFLAGS="-fprofile-arcs -ftest-coverage -O0" LIBS=-lgcov 
+    make
+    make check
+
+It will result into creation of the new helper files with the extentions *gcno* and *gcda*.
+
+To validate the test coverage of the specific file, change the directory to
+its location and run ::
+
+    gcov -o filename.so.gcno filename.c 
+
+To see the test coverage of the *filename.c* open a newly created file *filename.c.gcov* in the editor.
+
+Some recent test coverage result can be found at the http://k5wiki.kerberos.org/wiki/Test_coverage 
+
+
+
+
+
+