]> git.ipfire.org Git - thirdparty/dhcp.git/commitdiff
[rt25901_atf] Developer's Guide updated, make clean target added.
authorTomek Mrugalski <tomasz@isc.org>
Wed, 8 Aug 2012 18:35:02 +0000 (20:35 +0200)
committerTomek Mrugalski <tomasz@isc.org>
Wed, 8 Aug 2012 18:35:02 +0000 (20:35 +0200)
Makefile.am
doc/devel/atf.dox
doc/devel/mainpage.dox
doc/devel/qa.dox [new file with mode: 0644]

index 928d926c4b37461505ac3ba2a1f7b8a4a779c210..1538424cbba4bc203205e2a91e9d1f24c7504a70 100644 (file)
@@ -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
 
index b9b305a5f4bf8c46c5064969b0fd96cad0892a15..29615c7e5b65f07035ef458e81ac1dd8df8cd626 100644 (file)
@@ -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:
 
index 25088268990724c5794a14215c1d7fe29b51ca9d..d96e4d2e8d4912bdfe522efd00ff68ad8e96cbe5 100644 (file)
     - @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 (file)
index 0000000..3240495
--- /dev/null
@@ -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
+
+<a href="http://cppcheck.sourceforge.net/">cppcheck</a> 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
+<a href="http://www.doxygen.org">www.doxygen.org</a> 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
+
+<a href="http://tahi.org">TAHI project</a> developed extensive suite of <a
+href="http://tahi.org/logo/dhcpv6/">DHCPv6 conformance tests</a>. ISC plans to
+deploy and run them periodically in a near future.
+
+*/