numam-spdk/test/external_code
Konrad Sztyber b665fd8672 test/external_code: out-of-tree NVMe driver tests
These tests compile the driver both as a shared object and statically
linking it to the identify application.  Additionally, in both
configurations, the app is used to list all available NVMe controllers,
as well as print information about each one indivdually.

Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
Change-Id: I127caf08acad11241bf685b392617ab4b810226b
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6680
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
2021-03-09 08:28:22 +00:00
..
hello_world build: combine env_dpdk / event_bdev so pkgconfig can de-duplicate deps 2021-02-17 10:19:06 +00:00
nvme test/external_code: out-of-tree NVMe driver tests 2021-03-09 08:28:22 +00:00
passthru test/external_code: rename public functions from module 2020-12-28 13:32:06 +00:00
Makefile test/external_code: initial definitions for basic NVMe driver 2021-03-09 08:28:22 +00:00
README.md test/external_code: replace copies of test apps with symbolic links 2020-10-21 20:46:20 +00:00
test_make.sh test/external_code: out-of-tree NVMe driver tests 2021-03-09 08:28:22 +00:00

This directory is meant to demonstrate how to link an external application and bdev module to the SPDK libraries. The makefiles contain six examples of linking against spdk libraries. They cover linking an application both with and without a custom bdev. For each of these categories, they also demonstrate linking against the spdk combined shared library, individual shared libraries, and static libraries.

This directory also contains a convenient test script, test_make.sh, which automates making SPDK and testing all six of these linker options. It takes a single argument, the path to an SPDK repository and should be run as follows:

sudo ./test_make.sh /path/to/spdk

The application hello_bdev is a symlink and bdev module passthru_external have been copied from their namesakes in the top level SPDK github repository and don't have any special functionality.