mirror of
https://gitlab.isc.org/isc-projects/dhcp
synced 2025-09-02 23:35:23 +00:00
[rt25901_atf] Developer's Guide updated, make clean target added.
This commit is contained in:
@@ -21,7 +21,7 @@ EXTRA_DIST = RELNOTES LICENSE \
|
|||||||
util/bindvar.sh \
|
util/bindvar.sh \
|
||||||
bind/Makefile bind/bind.tar.gz bind/version.tmp
|
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
|
nobase_include_HEADERS = dhcpctl/dhcpctl.h
|
||||||
|
|
||||||
|
@@ -5,16 +5,18 @@
|
|||||||
|
|
||||||
@section testsAtf ATF unit-tests
|
@section testsAtf ATF unit-tests
|
||||||
|
|
||||||
ATF stands for Automated Test Framework, and is the framework used for
|
ATF stands for Automated Test Framework, and is the framework used for unit
|
||||||
unit-tests in ISC DHCP and BIND9. ATF can be downloaded from
|
tests in ISC DHCP and BIND9. ATF sources can be downloaded from
|
||||||
http://code.google.com/p/kyua/wiki/ATF
|
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 ATF successor, called Kyua, is being developed. As of August 2012, the
|
||||||
the latest available release of Kyua is 0.5. It claims to offer
|
latest available release of Kyua is 0.5. It claims to offer feature parity with
|
||||||
feature parity with ATF. Migration to Kyua may be planned some time in
|
ATF. Migration to Kyua may be planned some time in the future, but DHCP uses ATF
|
||||||
the future. Such upgrade should be done in coordination with BIND. The
|
for now. Such an upgrade should be done in coordination with BIND. The latest
|
||||||
latest tested version of ATF that DHCP's unittests were run against is
|
tested version of ATF that DHCP's unittests were run against is 0.15.
|
||||||
0.15.
|
|
||||||
|
|
||||||
To build the unit-tests, use the following:
|
To build the unit-tests, use the following:
|
||||||
|
|
||||||
|
@@ -15,6 +15,10 @@
|
|||||||
- @subpage testsAtf
|
- @subpage testsAtf
|
||||||
- @subpage testsAtfAdding
|
- @subpage testsAtfAdding
|
||||||
- @subpage testsAtfCoding
|
- @subpage testsAtfCoding
|
||||||
|
- @subpage qa
|
||||||
|
- @subpage qaTests
|
||||||
|
- @subpage cppcheck
|
||||||
|
- @subpage doxygen
|
||||||
- @subpage debug
|
- @subpage debug
|
||||||
- @subpage omapi
|
- @subpage omapi
|
||||||
- @subpage omapiIntro
|
- @subpage omapiIntro
|
||||||
|
84
doc/devel/qa.dox
Normal file
84
doc/devel/qa.dox
Normal file
@@ -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.
|
||||||
|
|
||||||
|
*/
|
Reference in New Issue
Block a user