From: Tomek Mrugalski Date: Wed, 8 Aug 2012 18:35:02 +0000 (+0200) Subject: [rt25901_atf] Developer's Guide updated, make clean target added. X-Git-Tag: v4_3_0a1~77^2~10 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0b08675ed999a7d504b582251063d9abd914fa58;p=thirdparty%2Fdhcp.git [rt25901_atf] Developer's Guide updated, make clean target added. --- diff --git a/Makefile.am b/Makefile.am index 928d926c4..1538424cb 100644 --- a/Makefile.am +++ b/Makefile.am @@ -21,7 +21,7 @@ EXTRA_DIST = RELNOTES LICENSE \ util/bindvar.sh \ bind/Makefile bind/bind.tar.gz bind/version.tmp -SUBDIRS = bind includes tests common dst omapip client dhcpctl relay server +SUBDIRS = bind includes tests common dst omapip client dhcpctl relay server doc nobase_include_HEADERS = dhcpctl/dhcpctl.h diff --git a/doc/devel/atf.dox b/doc/devel/atf.dox index b9b305a5f..29615c7e5 100644 --- a/doc/devel/atf.dox +++ b/doc/devel/atf.dox @@ -5,16 +5,18 @@ @section testsAtf ATF unit-tests -ATF stands for Automated Test Framework, and is the framework used for -unit-tests in ISC DHCP and BIND9. ATF can be downloaded from -http://code.google.com/p/kyua/wiki/ATF - -The ATF successor, called Kyua, is being developed. As of August 2012, -the latest available release of Kyua is 0.5. It claims to offer -feature parity with ATF. Migration to Kyua may be planned some time in -the future. Such upgrade should be done in coordination with BIND. The -latest tested version of ATF that DHCP's unittests were run against is -0.15. +ATF stands for Automated Test Framework, and is the framework used for unit +tests in ISC DHCP and BIND9. ATF sources can be downloaded from +http://code.google.com/p/kyua/wiki/ATF . ATF itself must be configured, compiled +and then installed to be available during the DHCP configure procedure. Please +follow INSTALL file supplied with ATF sources (it's essentially the typical +./configure && make && make install procedure). + +The ATF successor, called Kyua, is being developed. As of August 2012, the +latest available release of Kyua is 0.5. It claims to offer feature parity with +ATF. Migration to Kyua may be planned some time in the future, but DHCP uses ATF +for now. Such an upgrade should be done in coordination with BIND. The latest +tested version of ATF that DHCP's unittests were run against is 0.15. To build the unit-tests, use the following: diff --git a/doc/devel/mainpage.dox b/doc/devel/mainpage.dox index 250882689..d96e4d2e8 100644 --- a/doc/devel/mainpage.dox +++ b/doc/devel/mainpage.dox @@ -15,6 +15,10 @@ - @subpage testsAtf - @subpage testsAtfAdding - @subpage testsAtfCoding + - @subpage qa + - @subpage qaTests + - @subpage cppcheck + - @subpage doxygen - @subpage debug - @subpage omapi - @subpage omapiIntro diff --git a/doc/devel/qa.dox b/doc/devel/qa.dox new file mode 100644 index 000000000..324049579 --- /dev/null +++ b/doc/devel/qa.dox @@ -0,0 +1,84 @@ +/** + @page qa Quality Assurance + +There is wide scale effort in progress to improve generic quality of the ISC +DHCP implementation. The following section describes major aspects of +quality assurance that is being implemented. As this is a work in progress, +expect radical changes in that area. + + @section qaTests ATF Unit-tests + + See @ref tests Section for details description of ATF-based unit-tests. + + @section cppcheck cppcheck tool + +cppcheck is a static analysis too +for C/C++ code. Unlike C/C++ compilers and many other analysis tools it does not +detect syntax errors in the code. Cppcheck primarily detects the types of bugs +that the compilers normally do not detect. To generate cppcheck report, you +have cppcheck installed in your system. Generation is simple: + +@verbatim +cd doc/ +make cppcheck +@endverbatim + +The log files will be stored in doc/html/cppcheck.log and +doc/html/cppcheck-error.log. While the former is useful for verifying that all +sources were checked, the latter is much more useful. It contains list of +problems that were detected by cppcheck. The goal is to solve all problems +and make this an empty file. + +In the unlikely event of cppcheck finding false positives it is possible to add +special comments formatted to instruct cppcheck to not report what it thinks is +an issue. make cppcheck target is configured to make cppcheck print out a +specific issue type reported. For example to disable the following error report: + +@verbatim +bind/bind-9.8.1/bin/dnssec/dnssec-keygen.c:522: check_fail: Memory leak: algname (error,memleak) +@endverbatim + +the following line could be added before line 522 in dnssec-keygen.c: +@verbatim +// cppcheck-suppress memleak +@endverbatim + +Please consult cppcheck manual for details. It is section 6.2 "Inline +suppressions" in cppcheck 1.54 manual. Section number may change in later +versions. + + @section doxygen Doxygen checks + +ISC DHCP Developer's Guide (the documentation you are reading now) is +generated with doxygen. Doxygen is an open source tool for generating +source code documentation. It is available from +www.doxygen.org website. Once Doxygen +is installed, ISC DHCP documentation can be generated with: + +@verbatim +cd doc +make devel +@endverbatim + +Note that cppcheck (see @ref cppcheck Section) reports are linked from +Developer's Guide. It is useful to generate both. + + @section systemTests System level tests + +ISC is developing a comprehensive set of system level tests. +They are described by a separate document called DHCP Test Plan. + + @section perfdhcp Performance tests using perfdhcp + +ISC is also developing a performance measurement tool, called +perfdhcp. Its main purpose is to measure performance of DHCPv4 and +DHCPv6 server. It is being developed as part of the BIND10 project. +See tests/tools/perfdhcp directory in BIND10 source code. + + @section tahiTests Conformance tests using TAHI + +TAHI project developed extensive suite of DHCPv6 conformance tests. ISC plans to +deploy and run them periodically in a near future. + +*/