Commit Graph
29962 Commits
Author SHA1 Message Date
Michał Kępień 1132ae8886 Update GitLab CI to Alpine Linux 3.11
Since Alpine Linux 3.11 is the current Alpine Linux release, replace
Alpine Linux 3.10 GitLab CI jobs with their up-to-date counterparts.

(cherry picked from commit bebf353eb5)
2020-01-10 11:24:51 +01:00
Michał Kępień 3a8a9ef124 Merge branch 'ondrej/run-full-pipeline-on-schedule-v9_14' into 'v9_14'
[v9_14] Run all jobs on scheduled builds (including OpenBSD and Windows)

See merge request isc-projects/bind9!2859
2020-01-10 10:20:53 +00:00
Ondřej SurýandMichał Kępień 60ff0e97b5 Run all jobs on scheduled builds (including OpenBSD and Windows)
(cherry picked from commit 52773e226a)
2020-01-10 11:19:54 +01:00
Michał Kępień f13cf700bf Merge branch 'ondrej/stop-retrying-system-tests-v9_14' into 'v9_14'
[v9_14] Stop retrying the system tests; we should fix the tests instead

See merge request isc-projects/bind9!2857
2020-01-10 10:15:02 +00:00
Ondřej SurýandMichał Kępień 6ea00b65da Stop retrying the system tests; we should fix the tests instead
(cherry picked from commit 8ad67f8b9f)
2020-01-10 11:13:58 +01:00
Michał Kępień 5f73947d34 Merge branch '1431-summary-sanitizer-grep-is-dangerous-v9_14' into 'v9_14'
[v9_14] Resolve ""SUMMARY: .*Sanitizer" grep is dangerous"

See merge request isc-projects/bind9!2855
2020-01-10 10:12:57 +00:00
Mark AndrewsandMichał Kępień 3636b0d275 replace grep -r with 'find -type f | xargs'
(cherry picked from commit 36ce99d8a4)
2020-01-10 10:51:37 +01:00
Michał Kępień 3e1cb80650 Merge branch 'ondrej/keep-sanitizer-tainted-system-tests-files-v9_14' into 'v9_14'
[v9_14] Don't clean the system test temporary files if sanitizer reports were found inside

See merge request isc-projects/bind9!2853
2020-01-10 09:50:27 +00:00
Ondřej SurýandMichał Kępień 3bc834daae Don't clean the system test temporary files if sanitizer reports were found inside
(cherry picked from commit 7489e6e6f9)
2020-01-10 10:47:54 +01:00
Michał Kępień 13033c4527 Merge branch 'michal/fix-the-forward-system-test-on-windows-v9_14' into 'v9_14'
[v9_14] Fix the "forward" system test on Windows

See merge request isc-projects/bind9!2851
2020-01-10 09:45:17 +00:00
Michał Kępień 12f0f68742 Fix the "forward" system test on Windows
Make sure carriage return characters are stripped from sed input to
enable the "forward" system test to pass on Windows.

(cherry picked from commit 075613aea4)
2020-01-10 10:44:08 +01:00
Michał Kępień 2c5edb965a Merge branch '1479-_wait_for_rcode-adds-extraneous-query-v9_14' into 'v9_14'
[v9_14] Resolve "_wait_for_rcode adds extraneous query"

See merge request isc-projects/bind9!2849
2020-01-10 09:42:43 +00:00
Mark AndrewsandMichał Kępień 05596de640 consume all arguments we have processed in shift
(cherry picked from commit 0ee0580fc9)
2020-01-10 10:41:23 +01:00
Michał Kępień a59e76c658 Merge branch '1453-the-zero-system-test-timeouts-intermittently-v9_14' into 'v9_14'
[v9_14] Bail-out early if dig fails to finish successfully or takes too long

See merge request isc-projects/bind9!2847
2020-01-10 09:26:53 +00:00
Ondřej SurýandMichał Kępień bea5bcff8d Bail-out early if dig fails to finish successfully or takes too long
Before, the zero system test could get stuck almost infinitely, because
the first test sends > 300 queries with 5 seconds timeout on each in
each pass.  If named crashed early, it would took the test more than 4
hours to properly timeout.

This commit introduces a "watchdog" on the dig commands running in the
background and failing the test on timeout, failing any test if any dig
command fails to return successfully, and making the tests.sh script
shellcheck clean.

(cherry picked from commit 2a65a47f39)
2020-01-10 10:04:12 +01:00
Michał Kępień 7c87878455 Merge branch '1458-intermittent-failure-in-the-forward-system-test-v9_14' into 'v9_14'
[v9_14] Resolve "Intermittent failure in the forward system test"

See merge request isc-projects/bind9!2845
2020-01-10 09:03:20 +00:00
Ondřej SurýandMichał Kępień 865fff9b5a Wait for named to forward the question before testing the validity
(cherry picked from commit fb03edacd8)
2020-01-10 09:10:46 +01:00
Ondřej SurýandMichał Kępień b29efb0406 Make forward system test shellcheck clean
(cherry picked from commit 0e15cbb092)
2020-01-10 09:10:45 +01:00
Ondřej SurýandMichał Kępień 97985a2d4d Use $n to keep diagnostic output of every individual test separate
(cherry picked from commit 10f4cd066f)
2020-01-10 09:08:21 +01:00
Ondřej SurýandMichał Kępień 4cf83a956c Add the standard $n to each test
(cherry picked from commit 64df488e1e)
2020-01-10 09:06:13 +01:00
Michał Kępień 9cd291bbdc Merge branch '1425-intermittent-failure-in-the-addzone-system-test-v9_14' into 'v9_14'
[v9_14] Resolve "Intermittent failure in the addzone system test"

See merge request isc-projects/bind9!2842
2020-01-09 16:38:39 +00:00
Witold KręcickiandMichał Kępień d1afbda2f0 tests: addzone: retry when checking for things, to allow for timing problems
(cherry picked from commit 8885fd6966)
2020-01-09 15:13:42 +01:00
Mark AndrewsandMichał Kępień 80a26c15be loop waiting for the redirect zone to load
(cherry picked from commit 9e8cd3ccc5)
2020-01-09 15:13:42 +01:00
Matthijs MekkingandMichał Kępień 6dfdd83040 Move wait_for_log to conf.sh.common
(cherry picked from cfaa631f65)
2020-01-09 15:13:30 +01:00
Michał Kępień fe2d797bde Merge branch '1427-intermittent-failure-in-fetchlimit-system-test-v9_14' into 'v9_14'
[v9_14] Test for the hard fetchlimit instead of soft fetchlimit

See merge request isc-projects/bind9!2841
2020-01-09 13:31:21 +00:00
Ondřej SurýandMichał Kępień b29059b391 Test for the hard fetchlimit instead of soft fetchlimit
Previously, the fetchlimit tested the recursive-clients soft limit
that's defined as 90% of the hard limit (the actual configured value).
This worked previously because the reaping of the oldest recursive
client was put on the same event queue as the current TCP client, thus
the cleaning has happened before the new TCP client established a new
connection.

With the change in BIND 9.14 that added a multiple event queues the
cleaning of the oldests clients is no longer synchronous and could
happen stochastically making the soft limit testing fail often.  The
situation became even worse with the new networking manager, thus we
change the system test to fail only if the hard limit bound is not
honored.

Changing the accounting of the already reaped TCP clients so the soft
limit testing is possible again is out of the scope for this change.

(cherry picked from commit c35a4e05fa)
2020-01-09 14:08:05 +01:00
Michał Kępień 042698cf72 Merge branch '1407-intermittent-failure-in-the-mkeys-system-test-v9_14' into 'v9_14'
[v9_14] Improve the error handling in mkeys test and use retry_quiet()

See merge request isc-projects/bind9!2839
2020-01-09 12:05:57 +00:00
Ondřej SurýandMichał Kępień e6b303344a Wait for 'all zones loaded' message instead of zoneless 'loaded serial' message
(cherry picked from commit b0ad689e16)
2020-01-09 12:28:39 +01:00
Ondřej SurýandMichał Kępień f81589f255 Save all rndc diagnostic output
(cherry picked from commit 3b63c51a64)
2020-01-09 12:28:39 +01:00
Ondřej SurýandMichał Kępień 031de5a857 Make mkeys system test shellcheck clean and run under set -e
(cherry picked from commit 4ff25c06c1)
2020-01-09 12:28:38 +01:00
Ondřej SurýandMichał Kępień 5d0732634a Improve the error handling in mkeys test and use retry_quiet()
(cherry picked from commit f239d67c1a)
2020-01-09 12:26:28 +01:00
Michał Kępień b0ff750ef9 Merge branch '1410-intermittent-failure-in-the-resolver-test-v9_14' into 'v9_14'
[v9_14] Resolve "Intermittent failure in the resolver test"

See merge request isc-projects/bind9!2837
2020-01-09 11:15:44 +00:00
Diego FronzaandMichał Kępień cbd4cc6242 Improved prefetch disabled test code
Using retry_quiet to test that prefetch is disabled instead of a
standard loop with sleep 1 between each iteration.

(cherry picked from commit 994fc2e822)
2020-01-09 11:28:34 +01:00
Diego FronzaandMichał Kępień dd1b4007b8 Fix resolver tests: prefetch 40/41
These two tests were failing basically because in order for prefetching to
happen, the TTL for a given DNS record must be greater than or equal to
the prefetch config value + 9.

The previous TTL for both records was 10, while prefetch value in
configuration was 3, thus making only records with TTL >= 12 elligible
for prefetching.

TTL value for both records was adjusted to the value 13, and prefetch
value was set to 4 (inc by 1), so records with TTL (4 + 9) >= 13 are
elligible for prefetching.

Adjusting prefetch value to 4 gives the test 1 second more to avoid time
problems when sharing resources on a heavy loaded PC.

Also prefetch value in settings is now read by the script and used
by it to corrrectly calculate the amount of time needed to delay before
sending a request to trigger prefetch, adding a bit of flexibility to
fine tune the test in the future.

(cherry picked from commit a711d6f8c0)
2020-01-09 11:27:23 +01:00
Diego FronzaandMichał Kępień e0c03d19a4 Fix resolver test: prefetch disabled
The previous test had two problems:
1. It wasn't written specifically for testing what it was supposed to:
prefetch disabled.
2. It could fail in some circunstances if the computer's load is too
high, due to sleeps not taking parallel tests and cpu load into account.

The new test is testing prefetch disabled as follows:
1. It asks for a txt record for a given domain and takes note of the
record's TTL (which is 10).
2. It sleeps for (TTL - 5) = 5 seconds, having a window of 5 seconds to
issue new queries before the record expires from cache.
3. Three(3) queries are executed in a row, with a interval of 1 second
between them, and for each query we verify that the TTL in response is
less than the previous one, thus ensuring that prefetch is disabled (if
it were enabled this record would have been refreshed already and TTL
would be >= the first TTL).

Having a window of 5 seconds to perform 3 queries with a interval of 1
second between them gives the test a reasonable amount of time
to not suffer from a machine with heavy load.

(cherry picked from commit dd524cc893)
2020-01-09 11:18:12 +01:00
Michał Kępień d6d6be9a59 Merge branch '1401-intermittent-failures-in-the-catz-system-test-v9_14' into 'v9_14'
[v9_14] Debug "Intermittent failures in the catz system test"

See merge request isc-projects/bind9!2835
2020-01-09 10:15:45 +00:00
Mark AndrewsandMichał Kępień 96aa3bb884 Increase wait_for_message attempts to 20.
(cherry picked from commit 4dd9ec8919)
2020-01-09 10:46:27 +01:00
Mark AndrewsandMichał Kępień d60ca30d2d save wait_for_message contents
(cherry picked from commit 1334daaec0)
2020-01-09 10:46:27 +01:00
Michał Kępień 89f34f0296 Merge branch 'michal/bind-to-random-port-numbers-in-unit-tests-v9_14' into 'v9_14'
[v9_14] Bind to random port numbers in unit tests

See merge request isc-projects/bind9!2832
2020-01-09 09:45:07 +00:00
Michał Kępień 11ff0537e1 Bind to random port numbers in unit tests
Some unit tests need various managers to be created before they are run.
The interface manager spawned during libns tests listens on a fixed port
number, which causes intermittent issues when multiple tests using an
interface manager are run concurrently.  Make the interface manager
listen on a randomized port number to greatly reduce the risk of
multiple unit tests using the same port concurrently.

(cherry picked from commit ea7bddb4ca)
2020-01-09 10:44:28 +01:00
Michal Nowak 4d80289abb Merge branch 'mnowak/1546-Add-out-of-tree-build-to-CI-v9_14' into 'v9_14'
[v9_14] Add out-of-tree build to the CI

See merge request isc-projects/bind9!2833
2020-01-09 09:42:36 +00:00
Michal Nowak 1258b8ccd9 Add out-of-tree build to the CI
Fixes #1546.

(cherry picked from commit 640dd566e9)
2020-01-09 09:42:36 +00:00
Michał Kępień 73f7f54575 Merge branch '1401-intermittent-failures-in-the-catz-system-test-v9_14' into 'v9_14'
[v9_14] Resolve "Intermittent failures in the catz system test"

See merge request isc-projects/bind9!2828
2020-01-08 14:13:12 +00:00
Ondřej SurýandMichał Kępień 557b051fc4 Use retry() and nextpart*() to simplify catz test
(cherry picked from commit 51b05189f7)
2020-01-08 14:11:29 +01:00
Witold KręcickiandMichał Kępień 8cdad6bedf Fix timing issues in catz test
Make the log checks more precise and use the retry() function for
repeating the checks.

(cherry picked from commit 9b43e65c01)
2020-01-08 14:11:29 +01:00
Michał Kępień 64427406a7 Merge branch '1402-multiple-issues-in-the-runtime-system-test-v9_14' into 'v9_14'
[v9_14] Resolve "Multiple issues in the runtime system test"

See merge request isc-projects/bind9!2824
2020-01-08 09:11:31 +00:00
Ondřej SurýandMichał Kępień 4a6d9ea152 Fix multiple issues in named setuid check
(cherry picked from commit cd804158b4)
2020-01-08 09:31:13 +01:00
Evan HuntandMichał Kępień dc760867d8 fixed a test failure, some other shell cleanup
(cherry picked from commit 7a8269207d)
2020-01-08 09:30:00 +01:00
Ondřej SurýandMichał Kępień 355eb0c288 Instead of sleeping for a fixed time, wait for named to log specific message in a loop
(cherry picked from commit f020199925)
2020-01-08 09:29:24 +01:00
Ondřej SurýandMichał Kępień 57b6aeabd5 Make runtime/tests.sh shellcheck and set -e clean
This mostly comprises of:

* using $(...) instead of `...`
* changing the directories in subshell and not ignoring `cd` return code
* handling every error gracefully instead of ignoring the return code

(cherry picked from commit 340b1d2b6b)
2020-01-08 09:28:24 +01:00