]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Reduce size of bulk test and run it using a matrix to vary settings
authorOtto <otto.moerbeek@open-xchange.com>
Wed, 3 Nov 2021 09:52:52 +0000 (10:52 +0100)
committerOtto <otto.moerbeek@open-xchange.com>
Wed, 3 Nov 2021 09:56:57 +0000 (10:56 +0100)
.github/workflows/build-and-test-all.yml
tasks.py

index ceaa558cfe229cd735d2d3400b6af76c7b1c7b95..8bd2917032322e56660f9ac928eb0955176c52e1 100644 (file)
@@ -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
index 11579813f828c444c5ac1cedda5da979223bf270..be67db924a9f22cd05f2aafff1e8d937c73953d0 100644 (file)
--- 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():