Jim Harris 3fc824c834 test: add mem_callbacks unit test
This tests that DPDK buffers do not cross memory
callback allocation boundaries, and that memory
freed by DPDK is in the same units as it was allocated.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I5b68e9f0864304962b9189b9f5e58f828f0d0e54

Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/436895
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2019-03-12 13:58:57 +00:00

47 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env bash
set -e
testdir=$(readlink -f $(dirname $0))
rootdir=$(readlink -f $testdir/../..)
source $rootdir/test/common/autotest_common.sh
timing_enter env
timing_enter memory
$testdir/memory/memory_ut
timing_exit memory
timing_enter vtophys
$testdir/vtophys/vtophys
timing_exit vtophys
timing_enter pci
$testdir/pci/pci_ut
timing_exit pci
timing_enter env_dpdk_post_init
argv="-c 0x1 "
if [ `uname` = Linux ]; then
# The default base virtaddr falls into a region reserved by ASAN.
# DPDK will try to find the nearest available address space by
# trying to do mmap over and over, which will take ages to finish.
# We speed up the process by specifying an address that's not
# supposed to be reserved by ASAN. Regular SPDK applications do
# this implicitly.
argv+="--base-virtaddr=0x200000000000"
fi
$testdir/env_dpdk_post_init/env_dpdk_post_init $argv
timing_exit env_dpdk_post_init
if [ `uname` = Linux ]; then
# This tests the --match-allocations DPDK parameter which is only
# supported on Linux
timing_enter mem_callbacks
$testdir/mem_callbacks/mem_callbacks
timing_exit mem_callbacks
fi
report_test_completion "env"
timing_exit env