Commit graph

26645 commits

Author SHA1 Message Date
Evan Hunt
56353aaf42 Fix compiler warnings and test failures when building without threads 2018-03-10 10:35:31 -08:00
Evan Hunt
96794f7d2b Merge branch 'missing-print-h' into 'master' 2018-03-09 19:58:08 -05:00
Evan Hunt
a173c9c18f add missing includes 2018-03-09 16:55:21 -08:00
Evan Hunt
2dd47e73f4 Merge branch 'clean-bin-tests' into 'master'
clean up bin/tests, convert unit tests to ATF

Closes #115

See merge request isc-projects/bind9!93
2018-03-09 17:21:44 -05:00
Evan Hunt
86e00cbb71 final cleanup
- update Kyuafiles to match Atffiles
- copyrights
- CHANGES note
2018-03-09 14:12:50 -08:00
Evan Hunt
74347f4a55 reduce race risk in parallel builds 2018-03-09 14:12:50 -08:00
Evan Hunt
d132f73497 remove lib/tests as nothing uses it anymore 2018-03-09 14:12:50 -08:00
Evan Hunt
9b753aa154 shorten ht_test and random_test 2018-03-09 14:12:50 -08:00
Evan Hunt
a4ebe83cdb migrate t_dst signature test to lib/dns/tests/dst_test 2018-03-09 14:12:50 -08:00
Evan Hunt
f58ac8ada3 migrate t_db to lib/dns/tests/db_test 2018-03-09 14:12:49 -08:00
Evan Hunt
8ecf69ef7b migrate t_names to lib/dns/tests/name_test 2018-03-09 14:12:49 -08:00
Evan Hunt
109546cbda migrate t_rbt to lib/dns/tests/rbt_test 2018-03-09 14:12:49 -08:00
Evan Hunt
c6c1e99252 migrate t_tasks to lib/isc/tests/task_test 2018-03-09 14:12:49 -08:00
Evan Hunt
d80825c40b migrate t_resolver to lib/dns/tests/resolver_test 2018-03-09 14:12:49 -08:00
Evan Hunt
e2b8699df9 migrate t_timers to lib/isc/tests/timer_test 2018-03-09 14:12:49 -08:00
Evan Hunt
874e2fc70c migrate t_atomic to lib/isc/tests/atomic_test 2018-03-09 14:12:48 -08:00
Evan Hunt
979f054702 migrate t_mem to lib/isc/tests/mem_test 2018-03-09 14:12:48 -08:00
Evan Hunt
05b7251d51 migrate t_net to lib/isc/tests 2018-03-09 14:12:48 -08:00
Evan Hunt
62f650078a migrate t_sockaddr to lib/isc/tests 2018-03-09 14:12:48 -08:00
Evan Hunt
6ad1a042bc remove hashes test (duplicates lib/isc/tests/hash_test) 2018-03-09 14:12:48 -08:00
Evan Hunt
6717f31e10 remove master test (duplicates lib/isc/tests/master_test) 2018-03-09 14:12:48 -08:00
Evan Hunt
ccfe778c01 migrate tests from bin/tests/dnssec-signzone to bin/tests/system/dnssec
- added tests to the dnssec system test that duplicate the ones
  from bin/tests/dnssec-signzone
- changed cleanall.sh so it doesn't automatically remove all
  key files, because there are now some of those that are part of the
  distribution
2018-03-09 14:12:48 -08:00
Evan Hunt
344ab0eb7d move all optional tests from bin/tests to bin/tests/optional
- some of these tests are obsolete and should be cleared up,
  others overlap with ATF tests and may be removed later.
  for now, let's just tidy up the bin/tests directory by
  moving these files down a level.
2018-03-09 14:12:47 -08:00
Evan Hunt
a633f6c5dd remove some old and obsolete test files 2018-03-09 14:12:47 -08:00
Evan Hunt
36649c498a Merge branch 'parallel-unit-tests' into 'master'
capture more info from unit tests, run in parallel

See merge request isc-projects/bind9!117
2018-03-09 17:11:45 -05:00
Evan Hunt
ef0b4c91bc allow ATF tests to run in parallel 2018-03-09 14:03:02 -08:00
Evan Hunt
cba2b972bc capture more information from unit tests
- in unittest step, explicitly preserve kyua.log or atf.out
- preserve kyua results database if present
- generate HTML report from kyua results if available
2018-03-09 09:13:11 -08:00
Ondřej Surý
91bfcb1aed Merge branch '138-tweak-ci-settings' into 'master'
Tweak CI settings

Closes #138

See merge request isc-projects/bind9!116
2018-03-09 11:36:35 -05:00
Michał Kępień
c330c65e77 Enable runner-specific make concurrency settings
Using fixed make concurrency settings on all runners is not flexible and
requires .gitlab-ci.yml to be modified each time tweaking these settings
is needed.  Use environment variables which are expected to be set by
the runner (defaulting to 1 in case they are not set) for controlling
make concurrency.
2018-03-09 12:29:24 -04:00
Michał Kępień
09004c25a8 Tweak the way ccache is used during CI
Our current CI configuration causes ccache data to be zipped after each
job and also included in build artifacts, which will quickly become
infeasible as ccache data grows.  Instead of asking gitlab-runner to
preserve ccache data between jobs, keep a separate ccache directory on
each runner, expecting it to be accessible at /ccache when a CI job is
run.  As this requires gitlab-runner to be configured in a specific way,
do not use ccache at all in case the ccache directory is not found while
building.
2018-03-09 12:28:44 -04:00
Ondřej Surý
8dd99563d1 Merge branch '111-gitlab-ci-does-not-run-unit-tests' into 'master'
Resolve "GitLab CI does not run unit tests"

Closes #111

See merge request isc-projects/bind9!100
2018-03-09 11:26:09 -05:00
Ondřej Surý
69ef7e53a4 Use runner specific make parallel build settings 2018-03-09 10:11:27 -04:00
Ondřej Surý
51fd3e631b Use runner specific ccache directory 2018-03-09 10:11:27 -04:00
Ondřej Surý
a35e456b09 Split system and unit tests into separate CI jobs 2018-03-09 10:11:27 -04:00
Ondřej Surý
7d1738785f Enable developer mode in the GitLab CI builds 2018-03-09 10:11:27 -04:00
Ondřej Surý
2f4845e968 chg: dev: Compile BIND with ATF enabled, so unit tests are executed in test stage.
This needs ATF, Kyuo (and deps) available in the docker images.
2018-03-09 10:11:27 -04:00
Evan Hunt
58be47e3e1 Merge branch '136-tweak-timestamp-checking-in-the-cds-system-test' into 'master'
Tweak timestamp checking in the cds system test

Closes #136

See merge request isc-projects/bind9!114
2018-03-08 14:06:50 -05:00
Michał Kępień
c92bacec63 Add CHANGES entry
4912.	[test]		Improved the reliability of the 'cds' system test.
			[GL #136]
2018-03-08 13:57:30 -05:00
Michał Kępień
ab2913a29f Tweak timestamp checking in the cds system test
Given the characteristics of the three timestamps involved in file
modification time checks in the cds system test (each one is an hour
apart from the next), reduce the resolution of these checks to 1 minute.
This will prevent intermittent false negatives caused by exceeding the
currently allowed difference of 9 seconds between file modification
times without making the test moot.

Also note that by using abs(), checkmtime.pl allows the cds system test
to pass when the modification time of the checked file is less than an
hour (or two hours for the second check) in the past.  This should never
happen, so remove abs() from the condition checked by checkmtime.pl.
2018-03-08 13:57:30 -05:00
Evan Hunt
7c1de1edec Merge branch 'remove-bind9-bugs-references' into 'master'
Update documentation to remove obsolete bind9-bugs@isc.org email address

See merge request isc-projects/bind9!111
2018-03-08 13:37:25 -05:00
Ondřej Surý
efc9bc5d8d Update documentation to remove obsolete bind9-bugs@isc.org email address 2018-03-08 13:36:49 -05:00
Ondřej Surý
a890ab4bc2 Merge branch '130-use-ccache-to-speed-up-gitlab-ci-builds' into 'master'
Resolve "Use ccache to speed-up Gitlab CI builds"

Closes #130

See merge request isc-projects/bind9!105
2018-03-08 09:20:37 -05:00
Ondřej Surý
7cda25f1af chg: dev: Use ccache to speed-up the builds 2018-03-08 08:10:32 -05:00
Michał Kępień
c9f4bdde94 Merge branch '128-fix-mkeys-system-test-race' into 'master'
Fix a race in the mkeys system test

Closes #128

See merge request isc-projects/bind9!103
2018-03-08 07:34:01 -05:00
Michał Kępień
32f875f9fc Add CHANGES entry
4911.	[test]		Improved the reliability of the 'mkeys' system test.
			[GL #128]
2018-03-08 13:20:48 +01:00
Michał Kępień
012ca0a27d Fix a race between "rndc reconfig" and waiting for a ./DNSKEY fetch to complete
Calling nextpart() after reconfiguring ns1 is not safe, because the
expected log message may appear in ns5/named.run before nextpart() is
run.  With the TTL for ./DNSKEY set to 20 seconds, ns5 will refresh it
after 10 seconds, by which time wait_for_log() will already have failed.
This results in a false negative.

However, just calling nextpart() before reconfiguring ns1 would
introduce a different problem: if ns5 refreshed ./DNSKEY between these
two steps, the subsequent wait_for_log() call would return immediately
as it would come across the log message about a failure while refreshing
./DNSKEY instead of the expected success.  This in turn would result in
a different false negative as the root key would still be uninitialized
by the time "rndc secroots" is called.

Prevent both kinds of false negatives by:

  - calling nextpart() before reconfiguring ns1, in order to prevent the
    first case described above,

  - looking for a more specific log message, in order to prevent the
    second case described above.

Also look for a more specific log message in the first part of the
relevant check, not to fix any problem, but just to emphasize that a
different fetch result is expected in that case.

With these tweaks in place, if a (failed) ./DNSKEY refresh is scheduled
between nextpart() and reconfiguring ns1, wait_for_log() will just wait
for two more seconds (one "hour"), at which point another refresh
attempt will be made that will succeed.
2018-03-08 13:19:54 +01:00
Mark Andrews
8be9ce2f06 Merge branch '133-update-util-check-changes-to-work-on-release-branches' into 'master'
Resolve "Update util/check-changes to work on release branches."

Closes #133

See merge request isc-projects/bind9!110
2018-03-08 00:11:48 -05:00
Mark Andrews
88a2202093 update util/check-changes to handle non master branched (util/check-changes master=0 CHANGES) 2018-03-08 15:45:56 +11:00
Evan Hunt
93267b8207 Merge branch '76-gitlab-ci-check-for-up-to-date-copyright' into 'master'
Add a GitLab CI precheck stage to check for up-to-date copyright information and sequential CHANGES notes.

Closes #76

See merge request isc-projects/bind9!42
2018-03-07 21:17:18 -05:00
Evan Hunt
c4cb99cf4a update copyrights 2018-03-07 18:02:53 -08:00