From: Dan Williams <dan.j.williams@intel.com>
To: vishal.l.verma@intel.com
Cc: nvdimm@lists.linux.dev, linux-cxl@vger.kernel.org
Subject: [ndctl PATCH v3 12/16] test: Prepare out of line builds
Date: Wed, 05 Jan 2022 13:32:42 -0800 [thread overview]
Message-ID: <164141836235.3990253.5237538466465550643.stgit@dwillia2-desk3.amr.corp.intel.com> (raw)
In-Reply-To: <164141829899.3990253.17547886681174580434.stgit@dwillia2-desk3.amr.corp.intel.com>
In preparation for converting to meson prepare the unit tests to run out of
a build directory rather than out of the source directory. Introduce
TEST_PATH for the location of the test executables.
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
---
test/btt-errors.sh | 4 +---
test/common | 37 +++++++++++++++++++++----------------
test/dax-pmd.c | 11 +++++++++--
test/dax.sh | 6 +++---
test/daxdev-errors.sh | 4 ++--
test/device-dax-fio.sh | 2 +-
test/dm.sh | 4 ++--
test/inject-smart.sh | 2 +-
test/mmap.sh | 6 +++---
test/monitor.sh | 6 +++---
test/pmem-errors.sh | 8 +++-----
test/sub-section.sh | 4 ++--
test/track-uuid.sh | 2 +-
13 files changed, 52 insertions(+), 44 deletions(-)
diff --git a/test/btt-errors.sh b/test/btt-errors.sh
index 6e69178cc3cf..18518d503e9c 100755
--- a/test/btt-errors.sh
+++ b/test/btt-errors.sh
@@ -11,14 +11,12 @@ rc=77
cleanup()
{
- rm -f $FILE
- rm -f $MNT/$FILE
if grep -q "$MNT" /proc/mounts; then
umount $MNT
else
rc=77
fi
- rmdir $MNT
+ rm -rf $MNT
}
force_raw()
diff --git a/test/common b/test/common
index b6d47128f209..fb487958a29b 100644
--- a/test/common
+++ b/test/common
@@ -4,27 +4,32 @@
# Global variables
# NDCTL
-#
-if [ -f "../ndctl/ndctl" ] && [ -x "../ndctl/ndctl" ]; then
- export NDCTL=../ndctl/ndctl
-elif [ -f "./ndctl/ndctl" ] && [ -x "./ndctl/ndctl" ]; then
- export NDCTL=./ndctl/ndctl
-else
- echo "Couldn't find an ndctl binary"
- exit 1
+if [ -z $NDCTL ]; then
+ if [ -f "../ndctl/ndctl" ] && [ -x "../ndctl/ndctl" ]; then
+ export NDCTL=../ndctl/ndctl
+ elif [ -f "./ndctl/ndctl" ] && [ -x "./ndctl/ndctl" ]; then
+ export NDCTL=./ndctl/ndctl
+ else
+ echo "Couldn't find an ndctl binary"
+ exit 1
+ fi
fi
# DAXCTL
-#
-if [ -f "../daxctl/daxctl" ] && [ -x "../daxctl/daxctl" ]; then
- export DAXCTL=../daxctl/daxctl
-elif [ -f "./daxctl/daxctl" ] && [ -x "./daxctl/daxctl" ]; then
- export DAXCTL=./daxctl/daxctl
-else
- echo "Couldn't find an daxctl binary"
- exit 1
+if [ -z $DAXCTL ]; then
+ if [ -f "../daxctl/daxctl" ] && [ -x "../daxctl/daxctl" ]; then
+ export DAXCTL=../daxctl/daxctl
+ elif [ -f "./daxctl/daxctl" ] && [ -x "./daxctl/daxctl" ]; then
+ export DAXCTL=./daxctl/daxctl
+ else
+ echo "Couldn't find an daxctl binary"
+ exit 1
+ fi
fi
+if [ -z $TEST_PATH ]; then
+ export TEST_PATH=.
+fi
# NFIT_TEST_BUS[01]
#
diff --git a/test/dax-pmd.c b/test/dax-pmd.c
index 7648e348b0a6..f8408759d51e 100644
--- a/test/dax-pmd.c
+++ b/test/dax-pmd.c
@@ -24,7 +24,8 @@
__func__, __LINE__, strerror(errno))
#define faili(i) fprintf(stderr, "%s: failed at: %d: %d (%s)\n", \
__func__, __LINE__, i, strerror(errno))
-#define TEST_FILE "test_dax_data"
+#define TEST_DIR "test_dax_mnt"
+#define TEST_FILE TEST_DIR "/test_dax_data"
#define REGION_MEM_SIZE 4096*4
#define REGION_PM_SIZE 4096*512
@@ -171,8 +172,14 @@ int test_dax_directio(int dax_fd, unsigned long align, void *dax_addr, off_t off
}
rc = -ENXIO;
+ rc = mkdir(TEST_DIR, 0600);
+ if (rc < 0 && errno != EEXIST) {
+ faili(i);
+ munmap(addr, 2 * align);
+ break;
+ }
fd2 = open(TEST_FILE, O_CREAT|O_TRUNC|O_DIRECT|O_RDWR,
- DEFFILEMODE);
+ 0600);
if (fd2 < 0) {
faili(i);
munmap(addr, 2*align);
diff --git a/test/dax.sh b/test/dax.sh
index bcdd4e9bda27..bb9848b10ecc 100755
--- a/test/dax.sh
+++ b/test/dax.sh
@@ -15,13 +15,13 @@ cleanup() {
else
rc=77
fi
- rmdir $MNT
+ rm -rf $MNT
exit $rc
}
run_test() {
rc=0
- if ! trace-cmd record -e fs_dax:dax_pmd_fault_done ./dax-pmd $MNT/$FILE; then
+ if ! trace-cmd record -e fs_dax:dax_pmd_fault_done $TEST_PATH/dax-pmd $MNT/$FILE; then
rc=$?
if [ "$rc" -ne 77 ] && [ "$rc" -ne 0 ]; then
cleanup "$1"
@@ -104,7 +104,7 @@ set -e
mkdir -p $MNT
trap 'err $LINENO cleanup' ERR
-dev=$(./dax-dev)
+dev=$($TEST_PATH/dax-dev)
json=$($NDCTL list -N -n $dev)
eval $(json2var <<< "$json")
rc=1
diff --git a/test/daxdev-errors.sh b/test/daxdev-errors.sh
index e13453dfaa73..7f79718113d0 100755
--- a/test/daxdev-errors.sh
+++ b/test/daxdev-errors.sh
@@ -62,8 +62,8 @@ read sector len < /sys/bus/nd/devices/$region/badblocks
echo "sector: $sector len: $len"
# run the daxdev-errors test
-test -x ./daxdev-errors
-./daxdev-errors $busdev $region
+test -x $TEST_PATH/daxdev-errors
+$TEST_PATH/daxdev-errors $busdev $region
# check badblocks, should be empty
if read sector len < /sys/bus/platform/devices/nfit_test.0/$busdev/$region/badblocks; then
diff --git a/test/device-dax-fio.sh b/test/device-dax-fio.sh
index f57a9d266afc..c43ac058d2b0 100755
--- a/test/device-dax-fio.sh
+++ b/test/device-dax-fio.sh
@@ -18,7 +18,7 @@ if ! fio --enghelp | grep -q "dev-dax"; then
exit 77
fi
-dev=$(./dax-dev)
+dev=$($TEST_PATH/dax-dev)
for align in 4k 2m 1g
do
json=$($NDCTL create-namespace -m devdax -a $align -f -e $dev)
diff --git a/test/dm.sh b/test/dm.sh
index 4656e5bfbebe..b780a65c27d2 100755
--- a/test/dm.sh
+++ b/test/dm.sh
@@ -8,7 +8,7 @@ SKIP=77
FAIL=1
SUCCESS=0
-. ./common
+. $(dirname $0)/common
MNT=test_dax_mnt
TEST_DM_PMEM=/dev/mapper/test_pmem
@@ -30,7 +30,7 @@ cleanup() {
if [ -L $TEST_DM_PMEM ]; then
dmsetup remove $TEST_DM_PMEM
fi
- rmdir $MNT
+ rm -rf $MNT
# opportunistic cleanup, not fatal if these fail
namespaces=$($NDCTL list -N | jq -r ".[] | select(.name==\"$NAME\") | .dev")
for i in $namespaces
diff --git a/test/inject-smart.sh b/test/inject-smart.sh
index 4ca83b8b2263..8b913601bdd2 100755
--- a/test/inject-smart.sh
+++ b/test/inject-smart.sh
@@ -170,7 +170,7 @@ check_prereq "jq"
modprobe nfit_test
rc=1
-jlist=$(./list-smart-dimm -b $bus)
+jlist=$($TEST_PATH/list-smart-dimm -b $bus)
dimm="$(jq '.[]."dev"?, ."dev"?' <<< $jlist | sort | head -1 | xargs)"
test -n "$dimm"
diff --git a/test/mmap.sh b/test/mmap.sh
index 50a1d34d0b75..760257dc7f93 100755
--- a/test/mmap.sh
+++ b/test/mmap.sh
@@ -7,7 +7,7 @@
MNT=test_mmap_mnt
FILE=image
DEV=""
-TEST=./mmap
+TEST=$TEST_PATH/mmap
rc=77
cleanup() {
@@ -17,7 +17,7 @@ cleanup() {
else
rc=77
fi
- rmdir $MNT
+ rm -rf $MNT
exit $rc
}
@@ -49,7 +49,7 @@ set -e
mkdir -p $MNT
trap 'err $LINENO cleanup' ERR
-dev=$(./dax-dev)
+dev=$($TEST_PATH/dax-dev)
json=$($NDCTL list -N -n $dev)
eval $(json2var <<< "$json")
DEV="/dev/${blockdev}"
diff --git a/test/monitor.sh b/test/monitor.sh
index 14450a7b23e3..ef04607d8eb0 100755
--- a/test/monitor.sh
+++ b/test/monitor.sh
@@ -31,7 +31,7 @@ start_monitor()
set_smart_supported_bus()
{
smart_supported_bus=$NFIT_TEST_BUS0
- monitor_dimms=$(./list-smart-dimm -b $smart_supported_bus | jq -r .[0].dev)
+ monitor_dimms=$($TEST_PATH/list-smart-dimm -b $smart_supported_bus | jq -r .[0].dev)
if [ -z $monitor_dimms ]; then
smart_supported_bus=$NFIT_TEST_BUS1
fi
@@ -39,14 +39,14 @@ set_smart_supported_bus()
get_monitor_dimm()
{
- jlist=$(./list-smart-dimm -b $smart_supported_bus $1)
+ jlist=$($TEST_PATH/list-smart-dimm -b $smart_supported_bus $1)
monitor_dimms=$(jq '.[]."dev"?, ."dev"?' <<<$jlist | sort | uniq | xargs)
echo $monitor_dimms
}
call_notify()
{
- ./smart-notify $smart_supported_bus
+ $TEST_PATH/smart-notify $smart_supported_bus
sync; sleep 3
}
diff --git a/test/pmem-errors.sh b/test/pmem-errors.sh
index 20657801fc0e..9a59c25d4a79 100755
--- a/test/pmem-errors.sh
+++ b/test/pmem-errors.sh
@@ -10,14 +10,12 @@ rc=77
cleanup()
{
- rm -f $FILE
- rm -f $MNT/$FILE
if [ -n "$blockdev" ]; then
umount /dev/$blockdev
else
rc=77
fi
- rmdir $MNT
+ rm -rf $MNT
}
check_min_kver "4.7" || do_skip "may lack dax error handling"
@@ -82,8 +80,8 @@ echo $start_sect 8 > /sys/block/$blockdev/badblocks
dd if=$MNT/$FILE of=/dev/null iflag=direct bs=4096 count=1 && err $LINENO || true
# run the dax-errors test
-test -x ./dax-errors
-./dax-errors $MNT/$FILE
+test -x $TEST_PATH/dax-errors
+$TEST_PATH/dax-errors $MNT/$FILE
# TODO: disable this check till we have clear-on-write in the kernel
#if read sector len < /sys/block/$blockdev/badblocks; then
diff --git a/test/sub-section.sh b/test/sub-section.sh
index 92ae816c448c..77b963355c8f 100755
--- a/test/sub-section.sh
+++ b/test/sub-section.sh
@@ -8,7 +8,7 @@ SKIP=77
FAIL=1
SUCCESS=0
-. ./common
+. $(dirname $0)/common
check_min_kver "5.3" || do_skip "may lack align sub-section hotplug support"
@@ -30,7 +30,7 @@ cleanup() {
if mountpoint -q $MNT; then
umount $MNT
fi
- rmdir $MNT
+ rm -rf $MNT
# opportunistic cleanup, not fatal if these fail
namespaces=$($NDCTL list -N | jq -r ".[] | select(.name==\"$NAME\") | .dev")
for i in $namespaces
diff --git a/test/track-uuid.sh b/test/track-uuid.sh
index 3bacd2c24787..a967d0e4691c 100755
--- a/test/track-uuid.sh
+++ b/test/track-uuid.sh
@@ -5,7 +5,7 @@
blockdev=""
rc=77
-. ./common
+. $(dirname $0)/common
set -e
trap 'err $LINENO' ERR
next prev parent reply other threads:[~2022-01-05 21:32 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-05 21:31 [ndctl PATCH v3 00/16] ndctl: Meson support Dan Williams
2022-01-05 21:31 ` [ndctl PATCH v3 01/16] ndctl/docs: Clarify update-firwmware activation 'overflow' conditions Dan Williams
2022-01-05 21:31 ` [ndctl PATCH v3 02/16] ndctl/test: Prepare for BLK-aperture support removal Dan Williams
2022-01-05 21:31 ` [ndctl PATCH v3 03/16] ndctl/test: Move 'reset()' to function in 'common' Dan Williams
2022-01-05 21:32 ` [ndctl PATCH v3 04/16] ndctl/test: Initialize the label area by default Dan Williams
2022-01-05 21:32 ` [ndctl PATCH v3 05/16] ndctl/test: Skip BLK flags checks Dan Williams
2022-01-05 21:32 ` [ndctl PATCH v3 06/16] ndctl/test: Move sector-mode to a different region Dan Williams
2022-01-05 21:32 ` [ndctl PATCH v3 07/16] ndctl: Deprecate BLK aperture support Dan Williams
2022-01-05 21:32 ` [ndctl PATCH v3 08/16] ndctl/test: Fix support for missing dax_pmem_compat module Dan Williams
2022-01-05 21:32 ` [ndctl PATCH v3 09/16] util: Distribute 'filter' and 'json' helpers to per-tool objects Dan Williams
2022-01-05 21:32 ` [ndctl PATCH v3 10/16] Documentation: Drop attrs.adoc include Dan Williams
2022-01-05 21:32 ` [ndctl PATCH v3 11/16] build: Drop unnecessary $tool/config.h includes Dan Williams
2022-01-05 21:32 ` Dan Williams [this message]
2022-01-05 21:32 ` [ndctl PATCH v3 13/16] ndctl: Drop executable bit for bash-completion script Dan Williams
2022-01-05 21:32 ` [ndctl PATCH v3 14/16] build: Add meson build infrastructure Dan Williams
2022-01-05 21:32 ` [ndctl PATCH v3 15/16] build: Add meson rpmbuild support Dan Williams
2022-01-05 21:33 ` [ndctl PATCH v3 16/16] ndctl: Jettison autotools Dan Williams
2022-01-12 13:54 ` [ndctl PATCH v3 00/16] ndctl: Meson support Vaibhav Jain
2022-01-13 1:23 ` Alison Schofield
2022-01-14 16:04 ` Verma, Vishal L
2022-01-14 16:55 ` Michal Suchánek
2022-01-14 22:30 ` Jane Chu
2022-01-14 22:47 ` Dan Williams
2022-01-15 1:16 ` Verma, Vishal L
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=164141836235.3990253.5237538466465550643.stgit@dwillia2-desk3.amr.corp.intel.com \
--to=dan.j.williams@intel.com \
--cc=linux-cxl@vger.kernel.org \
--cc=nvdimm@lists.linux.dev \
--cc=vishal.l.verma@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).