From: Otto Date: Wed, 3 Nov 2021 09:52:52 +0000 (+0100) Subject: Reduce size of bulk test and run it using a matrix to vary settings X-Git-Tag: rec-4.6.0-beta1~1^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=375c8fd6fd35c30db19ca44b93a9b24cb5b7f873;p=thirdparty%2Fpdns.git Reduce size of bulk test and run it using a matrix to vary settings --- diff --git a/.github/workflows/build-and-test-all.yml b/.github/workflows/build-and-test-all.yml index ceaa558cfe..8bd2917032 100644 --- a/.github/workflows/build-and-test-all.yml +++ b/.github/workflows/build-and-test-all.yml @@ -315,6 +315,11 @@ jobs: test-recursor-bulk: needs: build-recursor runs-on: ubuntu-20.04 + strategy: + matrix: + threads: [1, 2, 3, 4, 8, 16] + mthreads: [2048, 4096] + shards: [1, 2, 1028] env: UBSAN_OPTIONS: 'print_stacktrace=1:halt_on_error=1:suppressions=/home/runner/work/pdns/pdns/build-scripts/UBSan.supp' ASAN_OPTIONS: detect_leaks=0 @@ -331,7 +336,7 @@ jobs: - run: build-scripts/gh-actions-setup-inv # this runs apt update+upgrade - run: inv install-clang-runtime - run: inv install-rec-test-deps - - run: inv test-bulk-recursor + - run: inv test-bulk-recursor ${{ matrix.threads }} ${{ matrix.mthreads }} ${{ matrix.shards }} test-dnsdist-regression: needs: build-dnsdist @@ -368,6 +373,8 @@ jobs: - test-dnsdist-regression - test-ixfrdist - test-recursor-api + - test-recursor-regression + - test-recursor-bulk runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2.3.4 diff --git a/tasks.py b/tasks.py index 11579813f8..be67db924a 100644 --- a/tasks.py +++ b/tasks.py @@ -449,16 +449,16 @@ def test_dnsdist(c): def test_regression_recursor(c): c.run('/opt/pdns-recursor/sbin/pdns_recursor --version') c.run('PDNSRECURSOR=/opt/pdns-recursor/sbin/pdns_recursor RECCONTROL=/opt/pdns-recursor/bin/rec_control SKIP_IPV6_TESTS=y LIBFAKETIME=/bin/false ./build-scripts/test-recursor test_RecDnstap.py') - c.run('PDNSRECURSOR=/opt/pdns-recursor/sbin/pdns_recursor RECCONTROL=/opt/pdns-recursor/bin/rec_control SKIP_IPV6_TESTS=y ./build-scripts/test-recursor') + c.run('PDNSRECURSOR=/opt/pdns-recursor/sbin/pdns_recursor RECCONTROL=/opt/pdns-recursor/bin/rec_control SKIP_IPV6_TESTS=y ./build-scripts/test-recursor -I test_RecDnstap.py') @task -def test_bulk_recursor(c): - # We run an extremely samll version of the bulk test, as GH does not seem to be able to handle the UDP load +def test_bulk_recursor(c, threads, mthreads, shards): + # We run an extremely small version of the bulk test, as GH does not seem to be able to handle the UDP load with c.cd('regression-tests'): c.run('curl -LO http://s3-us-west-1.amazonaws.com/umbrella-static/top-1m.csv.zip') c.run('unzip top-1m.csv.zip -d .') c.run('chmod +x /opt/pdns-recursor/bin/* /opt/pdns-recursor/sbin/*') - c.run('DNSBULKTEST=/usr/bin/dnsbulktest RECURSOR=/opt/pdns-recursor/sbin/pdns_recursor RECCONTROL=/opt/pdns-recursor/bin/rec_control THRESHOLD=95 TRACE=no ./timestamp ./recursor-test 5300 1000 2') + c.run(f'DNSBULKTEST=/usr/bin/dnsbulktest RECURSOR=/opt/pdns-recursor/sbin/pdns_recursor RECCONTROL=/opt/pdns-recursor/bin/rec_control THRESHOLD=95 TRACE=no ./timestamp ./recursor-test 5300 100 {threads} {mthreads} {shards}') # this is run always def setup():