Commit d14f364e authored by Ben Walker's avatar Ben Walker Committed by Tomasz Zawadzki
Browse files

test/external_code: Use an installed SPDK in this test



External modules will be built against an installed SPDK, so change the
test to do a make install.

Change-Id: I4d9d2da4a4024dca1a96bdeea182ebd8ac91e130
Signed-off-by: default avatarBen Walker <ben@nvidia.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/21602


Reviewed-by: default avatarJim Harris <jim.harris@samsung.com>
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
parent 162c1a52
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -9,6 +9,8 @@ SPDK_HEADER_DIR ?= $(rootdir)/include
SPDK_LIB_DIR	?= $(rootdir)/build/lib
DPDK_LIB_DIR	?= $(rootdir)/dpdk/build/lib
VFIO_LIB_DIR	?= $(rootdir)/build/libvfio-user/usr/local/lib
ISAL_LIB_DIR	?= $(rootdir)/isa-l/.libs
ISAL_CRYPTO_LIB_DIR ?= $(rootdir)/isa-l-crypto/.libs

ifneq ($(SPDK_HEADER_DIR),)
COMMON_CFLAGS+=-I$(SPDK_HEADER_DIR)
@@ -25,6 +27,15 @@ endif
ifneq ($(VFIO_LIB_DIR),)
COMMON_CFLAGS+=-L$(VFIO_LIB_DIR)
endif

ifneq ($(ISAL_LIB_DIR),)
COMMON_CFLAGS+=-L$(ISAL_LIB_DIR)
endif

ifneq ($(ISAL_CRYPTO_LIB_DIR),)
COMMON_CFLAGS+=-L$(ISAL_CRYPTO_LIB_DIR)
endif

export
.PHONY: all

+2 −2
Original line number Diff line number Diff line
@@ -13,14 +13,14 @@ shared_module:
	$(CC) $(COMMON_CFLAGS) -c -fPIC module.c -o module.o
	$(CC) $(COMMON_CFLAGS) -shared module.o -o libaccel_external_module.so
	$(CC) $(COMMON_CFLAGS) -o module app_module.c -g -L. -laccel_external_module \
		-lspdk $(SPDK_LIB)
		-lspdk -lisal -lisal_crypto $(SPDK_LIB)

shared_driver:
	$(CC) $(COMMON_CFLAGS) -c -fPIC module.c -o module.o
	$(CC) $(COMMON_CFLAGS) -c -fPIC driver.c -o driver.o
	$(CC) $(COMMON_CFLAGS) -shared module.o driver.o -o libaccel_external_driver.so
	$(CC) $(COMMON_CFLAGS) -o driver app_driver.c -g -L. -laccel_external_driver \
		-lspdk $(SPDK_LIB)
		-lspdk -lisal -lisal_crypto $(SPDK_LIB)

static_module:
	$(CC) $(COMMON_CFLAGS) -o module module.c app_module.c -pthread \
+11 −1
Original line number Diff line number Diff line
@@ -11,6 +11,9 @@ source "$rootdir/test/common/autotest_common.sh"
set -e
SPDK_DIR=$1

INSTALL_DIR=$test_root/install
mkdir -p $INSTALL_DIR

if [ -z "$EXTERNAL_MAKE_HUGEMEM" ]; then
	EXTERNAL_MAKE_HUGEMEM=$HUGEMEM
fi
@@ -25,10 +28,14 @@ if [[ -e $SPDK_DIR/mk/config.mk ]]; then
fi
$SPDK_DIR/configure --with-shared --without-ocf --disable-asan $WITH_DPDK
make -C $SPDK_DIR -j$(nproc)
make -C $SPDK_DIR DESTDIR=$INSTALL_DIR install -j$(nproc)

export SPDK_HEADER_DIR="$SPDK_DIR/include"
export SPDK_HEADER_DIR="$INSTALL_DIR/usr/local/include"
export SPDK_LIB_DIR="$INSTALL_DIR/usr/local/lib"
export DPDK_LIB_DIR="$INSTALL_DIR/usr/local/lib"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"$test_root/passthru"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"$test_root/accel"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"$SPDK_LIB_DIR"
_sudo="sudo -E --preserve-env=PATH LD_LIBRARY_PATH=$LD_LIBRARY_PATH"

# Make just the application linked against individual SPDK shared libraries.
@@ -78,8 +85,10 @@ run_test "external_run_nvme_shared" $_sudo $test_root/nvme/identify.sh
make -C $test_root clean

make -C $SPDK_DIR clean
rm -rf $INSTALL_DIR
$SPDK_DIR/configure --without-shared --without-ocf --disable-asan $WITH_DPDK
make -C $SPDK_DIR -j$(nproc)
make -C $SPDK_DIR DESTDIR=$INSTALL_DIR install -j$(nproc)

# Make just the application linked against individual SPDK archives.
run_test "external_make_accel_module_static" make -C $test_root accel_module_static
@@ -113,5 +122,6 @@ run_test "external_run_nvme_static" $_sudo $test_root/nvme/identify.sh

make -C $test_root clean
make -C $SPDK_DIR -j$(nproc) clean
rm -rf $INSTALL_DIR

sudo HUGEMEM="$HUGEMEM" $SPDK_DIR/scripts/setup.sh reset