Add pairwise testing of configure options

Pairwise testing is a test case generation technique based on the
observation that most faults are caused by interactions of at most
two factors. When testing partition creating software those factors may
be Type, Size, Format method, File system, and Compression. For BIND
./configure, we don't have such distinct factors. We could divide
./configure options to libraries (--with-zlib) and the rest. But this
seems too artificial.

Instead I scrape all custom BIND options introduced by AS_HELP_STRING,
clean, shuffle and divide them by group of five. While treating each
quintet as a distinct factor this model is processed by the PICT tool,
which finds an effective test vector, which is then executed in
parallel.

The test vector is limited by previous artificial grouping by five
options and thus does not provide complete test coverage of ./configure
options, but when run via the 'pairwise:configure' job enough times, all
combinations will be performed.
81 jobs for !3784 with mnowak/pairwise-configure-testing in 4 minutes and 44 seconds (queued for 7 seconds)
detached
Status Job ID Name Coverage
  Autoconf
passed #996902
amd64 linux
autoreconf

00:00:20

 
  Precheck
passed #996904
amd64 linux
clang-format

00:00:18

passed #996905
amd64 linux
coccinelle

00:04:06

passed #996906
amd64 linux
danger

00:00:12

passed #996903
amd64 linux
misc

00:00:13

 
  Build
canceled #996921
amd64 linux
clang:asan

canceled #996925
amd64 linux
clang:buster:amd64

canceled #996928
amd64 libvirt
clang:freebsd11.4:amd64

canceled #996929
amd64 libvirt
clang:freebsd12.1:amd64

canceled #996930
amd64 libvirt
clang:openbsd6.7:amd64

canceled #996923
amd64 linux
clang:tsan

canceled #996907
amd64 linux
gcc:alpine3.12:amd64

00:00:09

canceled #996920
amd64 linux
gcc:asan

00:00:06

canceled #996912
amd64 linux
gcc:buster:amd64

00:00:12

canceled #996908
amd64 linux
gcc:centos6:amd64

00:00:14

canceled #996909
amd64 linux
gcc:centos7:amd64

00:00:15

canceled #996910
amd64 linux
gcc:centos8:amd64

00:00:17

canceled #996919
amd64 linux
gcc:focal:amd64

00:00:13

canceled #996924
amd64 linux
gcc:mutexatomics

00:00:08

canceled #996914
amd64 linux
gcc:out-of-tree

00:00:19

canceled #996913
amd64 linux
gcc:sid:amd64

00:00:21

canceled #996915
arm64 linux
gcc:sid:arm64

00:00:14

canceled #996916
i386 linux
gcc:sid:i386

00:00:20

canceled #996926
amd64 linux
gcc:softhsm2.4

00:00:10

canceled #996927
amd64 linux
gcc:softhsm2.6

00:00:11

canceled #996911
amd64 linux
gcc:stretch:amd64

00:00:27

canceled #996922
amd64 linux
gcc:tsan

00:00:25

canceled #996917
amd64 linux
gcc:tumbleweed:amd64

00:00:29

canceled #996918
amd64 linux
gcc:xenial:amd64

00:00:30

canceled #996931
amd64 windows
msvc:windows:amd64

00:00:54

passed #996932
amd64 linux
pairwise:configure

00:01:42

 
  Unit
skipped #996946
amd64 linux
unit:clang:asan
skipped #996950
amd64 linux
unit:clang:buster:amd64
skipped #996953
amd64 libvirt
unit:clang:freebsd11.4:amd64
skipped #996954
amd64 libvirt
unit:clang:freebsd12.1:amd64
skipped #996948
amd64 linux allowed to fail
unit:clang:tsan
skipped #996933
amd64 linux
unit:gcc:alpine3.12:amd64
skipped #996945
amd64 linux
unit:gcc:asan
skipped #996938
amd64 linux
unit:gcc:buster:amd64
skipped #996934
amd64 linux
unit:gcc:centos6:amd64
skipped #996935
amd64 linux
unit:gcc:centos7:amd64
skipped #996936
amd64 linux
unit:gcc:centos8:amd64
skipped #996944
amd64 linux
unit:gcc:focal:amd64
skipped #996949
amd64 linux
unit:gcc:mutexatomics
skipped #996939
amd64 linux
unit:gcc:sid:amd64
skipped #996940
arm64 linux
unit:gcc:sid:arm64
skipped #996941
i386 linux
unit:gcc:sid:i386
skipped #996951
amd64 linux
unit:gcc:softhsm2.4
skipped #996952
amd64 linux
unit:gcc:softhsm2.6
skipped #996937
amd64 linux
unit:gcc:stretch:amd64
skipped #996947
amd64 linux allowed to fail
unit:gcc:tsan
skipped #996942
amd64 linux
unit:gcc:tumbleweed:amd64
skipped #996943
amd64 linux
unit:gcc:xenial:amd64
 
  System
skipped #996968
amd64 linux
system:clang:asan
skipped #996972
amd64 linux
system:clang:buster:amd64
skipped #996975
amd64 libvirt
system:clang:freebsd11.4:amd64
skipped #996976
amd64 libvirt
system:clang:freebsd12.1:amd64
skipped #996970
amd64 linux allowed to fail
system:clang:tsan
skipped #996955
amd64 linux
system:gcc:alpine3.12:amd64
skipped #996967
amd64 linux
system:gcc:asan
skipped #996960
amd64 linux
system:gcc:buster:amd64
skipped #996956
amd64 linux
system:gcc:centos6:amd64
skipped #996957
amd64 linux
system:gcc:centos7:amd64
skipped #996958
amd64 linux
system:gcc:centos8:amd64
skipped #996966
amd64 linux
system:gcc:focal:amd64
skipped #996971
amd64 linux
system:gcc:mutexatomics
skipped #996961
amd64 linux
system:gcc:sid:amd64
skipped #996962
arm64 linux
system:gcc:sid:arm64
skipped #996963
i386 linux
system:gcc:sid:i386
skipped #996973
amd64 linux
system:gcc:softhsm2.4
skipped #996974
amd64 linux
system:gcc:softhsm2.6
skipped #996959
amd64 linux
system:gcc:stretch:amd64
skipped #996969
amd64 linux allowed to fail
system:gcc:tsan
skipped #996964
amd64 linux
system:gcc:tumbleweed:amd64
skipped #996965
amd64 linux
system:gcc:xenial:amd64
 
  Docs
passed #996982
linux amd64
docs

00:00:38

canceled #996977
amd64 linux
docs

00:00:15

 
  Postcheck
passed #996981
amd64 linux
cppcheck

00:01:07

passed #996978
amd64 linux
flake8

00:00:48

passed #996979
amd64 linux
pylint

00:00:52

passed #996980
amd64 linux
scan-build

00:04:00