diff options
author | Matias Elo <matias.elo@nokia.com> | 2021-07-14 12:33:16 +0300 |
---|---|---|
committer | Matias Elo <matias.elo@nokia.com> | 2021-08-18 08:53:56 +0300 |
commit | 6b6de8d7044d7a484b671a80768cf068f5b56814 (patch) | |
tree | c852e252ada9253349e0b16a5b8f5d514fa09b0b | |
parent | 954ac01412a07b5aabca9e5ee4c30e0723b766f3 (diff) |
ci: add new test case for individual dpdk crypto drivers
Add new test case for running validation tests with selected DPDK crypto
device drivers. The first tested drivers are aesni_mb and aesni_gcm.
The test's maximum thread count has been limited to 8, so that the crypto
devices have enough queue pairs (default=8) for lockless operation.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Janne Peltonen <janne.peltonen@nokia.com>
-rw-r--r-- | .github/workflows/ci-pipeline.yml | 18 | ||||
-rw-r--r-- | platform/linux-dpdk/test/crypto.conf | 8 | ||||
-rwxr-xr-x | scripts/ci/check_validation.sh | 22 |
3 files changed, 48 insertions, 0 deletions
diff --git a/.github/workflows/ci-pipeline.yml b/.github/workflows/ci-pipeline.yml index f41b51f4f..47cfb3922 100644 --- a/.github/workflows/ci-pipeline.yml +++ b/.github/workflows/ci-pipeline.yml @@ -277,3 +277,21 @@ jobs: - name: Failure log if: ${{ failure() }} run: find . -name "*.trs" | xargs grep -l '^.test-result. FAIL' | while read trs ; do echo FAILURE detected at $trs; cat ${trs%%.trs}.log ; done + + Run_crypto: + runs-on: ubuntu-18.04 + env: + OS: ubuntu_20.04 + strategy: + fail-fast: false + matrix: + driver: [crypto_aesni_mb, crypto_aesni_gcm] + steps: + - uses: actions/checkout@v2 + - run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="${CC}" -e ARCH="${ARCH}" + -e CONF="${CONF}" -e ODP_PLATFORM_PARAMS="--vdev=${{matrix.driver}}" + -e ODP_CONFIG_FILE=/odp/platform/linux-dpdk/test/crypto.conf + $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/check_validation.sh + - name: Failure log + if: ${{ failure() }} + run: find . -name "*.trs" | xargs grep -l '^.test-result. FAIL' | while read trs ; do echo FAILURE detected at $trs; cat ${trs%%.trs}.log ; done diff --git a/platform/linux-dpdk/test/crypto.conf b/platform/linux-dpdk/test/crypto.conf new file mode 100644 index 000000000..25e0652bf --- /dev/null +++ b/platform/linux-dpdk/test/crypto.conf @@ -0,0 +1,8 @@ +# Mandatory fields +odp_implementation = "linux-dpdk" +config_file_version = "0.1.12" + +system: { + # One crypto queue pair is required per thread for lockless operation + thread_count_max = 8 +} diff --git a/scripts/ci/check_validation.sh b/scripts/ci/check_validation.sh new file mode 100755 index 000000000..c2d93292a --- /dev/null +++ b/scripts/ci/check_validation.sh @@ -0,0 +1,22 @@ +#!/bin/bash +set -e + +echo 1500 | tee /proc/sys/vm/nr_hugepages +mkdir -p /mnt/huge +mount -t hugetlbfs nodev /mnt/huge + +"`dirname "$0"`"/build_${ARCH}.sh + +cd "$(dirname "$0")"/../.. + +# Ignore possible failures there because these tests depends on measurements +# and systems might differ in performance. +export CI="true" + +# Run only validation tests +pushd ./test/validation/api/ +make check +popd + +#dpdk wrapper script can umount hugepages itself +umount /mnt/huge || true |