2
0
mirror of https://gitlab.isc.org/isc-projects/dhcp synced 2025-09-02 07:15:44 +00:00

[rt25901_atf] Developer's Guide updated, make clean target added.

This commit is contained in:
Tomek Mrugalski
2012-08-08 20:35:02 +02:00
parent f9effb95d4
commit 0b08675ed9
4 changed files with 100 additions and 10 deletions

View 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

View 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
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. 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.
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:

View File

@@ -15,6 +15,10 @@
- @subpage testsAtf
- @subpage testsAtfAdding
- @subpage testsAtfCoding
- @subpage qa
- @subpage qaTests
- @subpage cppcheck
- @subpage doxygen
- @subpage debug
- @subpage omapi
- @subpage omapiIntro

84
doc/devel/qa.dox Normal file
View 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.
*/