Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ISC Open Source Projects
BIND
Commits
de219b85
Commit
de219b85
authored
Oct 23, 2018
by
Ondřej Surý
Browse files
Remove embedded atf-src and enforce atf >= 0.20 + kyua as execution engine
parent
e31e5732
Changes
11
Hide whitespace changes
Inline
Side-by-side
.gitignore
View file @
de219b85
...
...
@@ -27,35 +27,6 @@ gen.dSYM/
.deps/
.dirstamp
.libs/
unit/atf-src/atf-c++/atf-c++.pc
unit/atf-src/atf-c/atf-c.pc
unit/atf-src/atf-c/defs.h
unit/atf-src/atf-c/detail/process_helpers
unit/atf-src/atf-config/atf-config
unit/atf-src/atf-report/atf-report
unit/atf-src/atf-report/fail_helper
unit/atf-src/atf-report/misc_helpers
unit/atf-src/atf-report/pass_helper
unit/atf-src/atf-run/atf-run
unit/atf-src/atf-run/bad_metadata_helper
unit/atf-src/atf-run/expect_helpers
unit/atf-src/atf-run/misc_helpers
unit/atf-src/atf-run/pass_helper
unit/atf-src/atf-run/several_tcs_helper
unit/atf-src/atf-run/zero_tcs_helper
unit/atf-src/atf-sh/atf-check
unit/atf-src/atf-sh/atf-sh
unit/atf-src/atf-sh/misc_helpers
unit/atf-src/atf-version/atf-version
unit/atf-src/atf-version/revision.h
unit/atf-src/atf-version/revision.h.stamp
unit/atf-src/bconfig.h
unit/atf-src/bootstrap/atconfig
unit/atf-src/doc/atf.7
unit/atf-src/stamp-h1
unit/atf-src/test-programs/c_helpers
unit/atf-src/test-programs/cpp_helpers
unit/atf-src/test-programs/sh_helpers
# ccc-analyzer store its results in .plist directories
*.plist/
*~
...
...
config.h.in
View file @
de219b85
...
...
@@ -6,9 +6,6 @@
/* Use AES for Client Cookie generation */
#undef AES_CC
/* define if ATF unit tests are to be built. */
#undef ATF_TEST
/* Define if you cannot bind() before connect() for TCP sockets. */
#undef BROKEN_TCP_BIND_BEFORE_CONNECT
...
...
configure
View file @
de219b85
...
...
@@ -670,6 +670,7 @@ BIND9_ISCCC_BUILDINCLUDE
BIND9_ISC_BUILDINCLUDE
BIND9_TOP_BUILDDIR
LD_WRAP_TESTS
KYUA
UNITTESTS
CMOCKA_LIBS
CMOCKA_CFLAGS
...
...
@@ -841,7 +842,6 @@ infodir
docdir
oldincludedir
includedir
runstatedir
localstatedir
sharedstatedir
sysconfdir
...
...
@@ -961,7 +961,8 @@ OPENSSL_LIBS
LIBIDN2_CFLAGS
LIBIDN2_LIBS
CMOCKA_CFLAGS
CMOCKA_LIBS'
CMOCKA_LIBS
KYUA'
# Initialize some variables set by options.
...
...
@@ -1000,7 +1001,6 @@ datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
runstatedir='${localstatedir}/run'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
...
...
@@ -1253,15 +1253,6 @@ do
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
-runstatedir | --runstatedir | --runstatedi | --runstated \
| --runstate | --runstat | --runsta | --runst | --runs \
| --run | --ru | --r)
ac_prev=runstatedir ;;
-runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
| --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
| --run=* | --ru=* | --r=*)
runstatedir=$ac_optarg ;;
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
...
...
@@ -1399,7 +1390,7 @@ fi
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
libdir localedir mandir
runstatedir
libdir localedir mandir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
...
...
@@ -1552,7 +1543,6 @@ Fine tuning of the installation directories:
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
...
...
@@ -1715,6 +1705,7 @@ Some influential environment variables:
CMOCKA_CFLAGS
C compiler flags for CMOCKA, overriding pkg-config
CMOCKA_LIBS linker flags for CMOCKA, overriding pkg-config
KYUA path to kyua execution engine
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
...
...
@@ -11916,7 +11907,6 @@ yes)
STD_CDEFINES="$STD_CDEFINES -DISC_MEM_DEFAULTFILL=1 -DISC_LIST_CHECKINIT=1 -DNS_HOOKS_ENABLE=1"
test "${enable_fixed_rrset+set}" = set || enable_fixed_rrset=yes
test "${enable_querytrace+set}" = set || enable_querytrace=yes
test "${with_atf+set}" = set || with_atf=yes
test "${with_cmocka+set}" = set || with_cmocka=yes
test "${with_dlz_filesystem+set}" = set || with_dlz_filesystem=yes
test "${enable_symtable+set}" = set || enable_symtable=all
...
...
@@ -19884,6 +19874,64 @@ esac
#
# Check for kyua execution engine if ATF was requested
# and bail out if execution engine was not found
#
if test "$with_cmocka" != "no"; then :
for ac_prog in kyua
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_KYUA+:} false; then :
$as_echo_n "(cached) " >&6
else
case $KYUA in
[\\/]* | ?:[\\/]*)
ac_cv_path_KYUA="$KYUA" # Let the user override the test with a path.
;;
*)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_KYUA="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
;;
esac
fi
KYUA=$ac_cv_path_KYUA
if test -n "$KYUA"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $KYUA" >&5
$as_echo "$KYUA" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
test -n "$KYUA" && break
done
if test -z "$KYUA"; then :
as_fn_error $? "kyua test execution engine not found" "$LINENO" 5
fi
fi
#
# Check for -Wl,--wrap= support
#
...
...
@@ -19925,6 +19973,9 @@ rm -f core conftest.err conftest.$ac_objext \
LDFLAGS=$save_LDFLAGS
#
# Check for i18n
#
for ac_header in locale.h
do :
ac_fn_c_check_header_mongrel "$LINENO" "locale.h" "ac_cv_header_locale_h" "$ac_includes_default"
...
...
configure.ac
View file @
de219b85
...
...
@@ -79,7 +79,6 @@ yes)
STD_CDEFINES="$STD_CDEFINES -DISC_MEM_DEFAULTFILL=1 -DISC_LIST_CHECKINIT=1 -DNS_HOOKS_ENABLE=1"
test "${enable_fixed_rrset+set}" = set || enable_fixed_rrset=yes
test "${enable_querytrace+set}" = set || enable_querytrace=yes
test "${with_atf+set}" = set || with_atf=yes
test "${with_cmocka+set}" = set || with_cmocka=yes
test "${with_dlz_filesystem+set}" = set || with_dlz_filesystem=yes
test "${enable_symtable+set}" = set || enable_symtable=all
...
...
@@ -2436,6 +2435,18 @@ AC_SUBST([CMOCKA_CFLAGS])
AC_SUBST([CMOCKA_LIBS])
AC_SUBST(UNITTESTS)
#
# Check for kyua execution engine if ATF was requested
# and bail out if execution engine was not found
#
AC_ARG_VAR([KYUA], [path to kyua execution engine])
AS_IF([test "$with_cmocka" != "no"],
[AC_PATH_PROGS([KYUA], [kyua], [])
AS_IF([test -z "$KYUA"],
[AC_MSG_ERROR([kyua test execution engine not found])])])
AC_SUBST([KYUA])
#
# Check for -Wl,--wrap= support
#
...
...
@@ -2458,6 +2469,9 @@ AC_SUBST([LD_WRAP_TESTS])
LDFLAGS=$save_LDFLAGS
#
# Check for i18n
#
AC_CHECK_HEADERS(locale.h)
AC_CHECK_FUNCS(setlocale)
...
...
lib/ns/tests/listenlist_test.c
View file @
de219b85
...
...
@@ -15,9 +15,13 @@
#include
<stdarg.h>
#include
<stddef.h>
#include
<stdlib.h>
#include
<setjmp.h>
#include
<stdlib.h>
#include
<isc/util.h>
#ifdef NS_HOOKS_ENABLE
#include
<stdio.h>
#include
<string.h>
#include
<unistd.h>
...
...
@@ -122,6 +126,17 @@ main(void) {
return
(
cmocka_run_group_tests
(
tests
,
NULL
,
NULL
));
}
#else
#include
<stdio.h>
int
main
(
void
)
{
printf
(
"1..0 # Skipped: libns hooks not enabled
\n
"
);
return
(
0
);
}
#endif
/* NS_HOOKS_ENABLE */
#else
/* HAVE_CMOCKA */
...
...
@@ -133,4 +148,4 @@ main(void) {
return
(
0
);
}
#endif
#endif
/* HAVE_CMOCKA */
lib/ns/tests/notify_test.c
View file @
de219b85
...
...
@@ -15,9 +15,13 @@
#include
<stdarg.h>
#include
<stddef.h>
#include
<stdlib.h>
#include
<setjmp.h>
#include
<stdlib.h>
#include
<isc/util.h>
#ifdef NS_HOOKS_ENABLE
#include
<stdio.h>
#include
<string.h>
#include
<unistd.h>
...
...
@@ -150,6 +154,17 @@ main(void) {
return
(
cmocka_run_group_tests
(
tests
,
NULL
,
NULL
));
}
#else
#include
<stdio.h>
int
main
(
void
)
{
printf
(
"1..0 # Skipped: libns hooks not enabled
\n
"
);
return
(
0
);
}
#endif
/* NS_HOOKS_ENABLE */
#else
/* HAVE_CMOCKA */
...
...
lib/ns/tests/nstest.c
View file @
de219b85
...
...
@@ -13,6 +13,8 @@
#include
<config.h>
#ifdef NS_HOOKS_ENABLE
#include
<inttypes.h>
#include
<stdbool.h>
#include
<stdlib.h>
...
...
@@ -925,3 +927,4 @@ ns_test_getdata(const char *file, unsigned char *buf,
isc_stdio_close
(
f
);
return
(
result
);
}
#endif
lib/ns/tests/query_test.c
View file @
de219b85
...
...
@@ -17,6 +17,10 @@
#include
<stddef.h>
#include
<setjmp.h>
#include
<isc/util.h>
#ifdef NS_HOOKS_ENABLE
#include
<inttypes.h>
#include
<stdbool.h>
#include
<stdlib.h>
...
...
@@ -27,7 +31,6 @@
#include
<dns/badcache.h>
#include
<dns/view.h>
#include
<isc/util.h>
#include
<ns/client.h>
#include
<ns/query.h>
#include
<isc/util.h>
...
...
@@ -601,6 +604,17 @@ main(void) {
return
(
cmocka_run_group_tests
(
tests
,
NULL
,
NULL
));
}
#else
#include
<stdio.h>
int
main
(
void
)
{
printf
(
"1..0 # Skipped: libns hooks not enabled
\n
"
);
return
(
0
);
}
#endif
/* NS_HOOKS_ENABLE */
#else
/* HAVE_CMOCKA */
...
...
@@ -612,4 +626,4 @@ main(void) {
return
(
0
);
}
#endif
#endif
/* HAVE_CMOCKA */
unit/README
View file @
de219b85
These u
nit tests for BIND 9 are based on
the
NetBSD Automated Test Framework
release 0.17
.
U
nit tests for BIND 9 are based on NetBSD Automated Test Framework
, cmocka and
test execution engine Kyua
.
To build an external copy of ATF for use by BIND 9:
If your distribution of choice doesn't include packages for atf, kyua and
cmocka, the sources can be found here:
$ cd atf-src
$ configure --prefix=<prefix> --enable-tools --disable-shared
$ make
$ make install
Subsequently, specify the ATF prefix when building BIND 9:
$ configure --with-atf=<prefix>
ATF can also be built automatically during the BIND 9 build,
by specifying --with-atf without an argument:
$ configure --with-atf
This causes BIND 9 to build ATF in the atf-src directory and
link to it directly.
* ATF 0.20 - https://github.com/jmmv/atf/releases
* Kyua 0.13 - https://github.com/jmmv/kyua/releases
* CMocka 1.0 - https://cmocka.org/files/
unit/unittest.sh.in
View file @
de219b85
#!/bin/sh
PATH
=
"@ATFBIN@:
${
PATH
}
"
export
PATH
KYUA
=
`
command
-v
kyua 2>/dev/null
`
KYUA
=
@KYUA@
UNITTESTS
=
@UNITTESTS@
CMOCKA_MESSAGE_OUTPUT
=
TAP
export
CMOCKA_MESSAGE_OUTPUT
status
=
0
if
[
-n
"
@
UNITTESTS
@
"
-a
-x
"
$KYUA
"
-a
-f
Kyuafile
]
if
[
-n
"
${
UNITTESTS
}
"
]
&&
[
-f
Kyuafile
]
then
echo
"S:unit:
`
date
`
"
echo
"S:unit:
$(
date
)
"
echo
"T:unit:1:A"
echo
"I: unit tests (using kyua)"
$KYUA
-v
parallelism
=
${
TEST_PARALLEL_JOBS
:-
1
}
--logfile
kyua.log
--loglevel
debug
test
--results-file
${
KYUA_RESULT
:-
NEW
}
$
{
KYUA
}
-v
parallelism
=
"
${
TEST_PARALLEL_JOBS
:-
1
}
"
--logfile
kyua.log
--loglevel
debug
test
--results-file
"
${
KYUA_RESULT
:-
NEW
}
"
status
=
$?
$KYUA
report
--results-file
${
KYUA_RESULT
:-
LATEST
}
$
{
KYUA
}
report
--results-file
"
${
KYUA_RESULT
:-
LATEST
}
"
if
[
$
status
-eq
0
]
if
[
"
${
status
}
"
-eq
"0"
]
then
rm
-f
kyua.log
echo
R:PASS
echo
"
R:PASS
"
else
echo
R:FAIL
echo
"
R:FAIL
"
fi
echo
"E:unit:
`
date
`
"
echo
"E:unit:
$(
date
)
"
fi
exit
$status
exit
$
{
status
}
util/merge_copyrights
View file @
de219b85
...
...
@@ -68,8 +68,6 @@ while (<CHANGES>) {
# Contributed code should maintain its own copyright.
if
(
$base
=~
/\.\/contrib\//
)
{
$file_types
{
$_
}
=
"
X
";
}
elsif
(
$base
=~
/\.\/unit\/atf-src\//
)
{
$file_types
{
$_
}
=
"
X
";
}
elsif
(
$base
=~
/\/openssl-[a-z0-9.]*-patch$/
)
{
$file_types
{
$_
}
=
"
X
";
}
elsif
(
$base
=~
/\.(c|h|css)$/
)
{
...
...
@@ -109,7 +107,7 @@ while (<CHANGES>) {
$file_types
{
$_
}
=
"
CONF-SH
";
}
elsif
(
$base
=~
/\.md$/
)
{
$file_types
{
$_
}
=
"
MKD
";
}
elsif
(
$base
=~
/(\/\.(gitignore|gitattributes)|
Atffile|
Kyuafile|\.(gif|jpg))$/i
)
{
}
elsif
(
$base
=~
/(\/\.(gitignore|gitattributes)|Kyuafile|\.(gif|jpg))$/i
)
{
$file_types
{
$_
}
=
"
X
";
}
elsif
(
$base
=~
/\.(def|dep|dsp|dsw|mak|sln)$/i
)
{
$file_types
{
$_
}
=
"
X
";
...
...
Ondřej Surý
@ondrej
mentioned in commit
713d158e
·
Nov 16, 2018
mentioned in commit
713d158e
mentioned in commit 713d158e6d8e0fadfd82e49987f5c982c0de38ac
Toggle commit list
Ondřej Surý
@ondrej
mentioned in commit
d196b5e4
·
Nov 16, 2018
mentioned in commit
d196b5e4
mentioned in commit d196b5e4932053f1dad43226fd03d438ea58e5bb
Toggle commit list
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment