Re: ndctl tests usable?

From: Dan Williams
Date: Tue Apr 26 2022 - 11:51:41 EST


On Tue, Apr 26, 2022 at 5:39 AM Michal Suchánek <msuchanek@xxxxxxx> wrote:
>
> Hello,
>
> there is some testsuite included with ndctl, and when following the
> instructions to build it most tests fail or are skipped:
>
> [ 95s] Ok: 3
> [ 95s] Expected Fail: 0
> [ 95s] Fail: 5
> [ 95s] Unexpected Pass: 0
> [ 95s] Skipped: 15
> [ 95s] Timeout: 0
>
> Is this the expected outcome or is this a problem with the ndctl build?
>
> Attaching test run log.

I see a few missing prerequisites:

[ 78s] /usr/src/packages/BUILD/ndctl-73/test/pmem-errors.sh: line
64: mkfs.ext4: command not found
[ 95s] /usr/src/packages/BUILD/ndctl-73/test/security.sh: line 25:
jq: command not found

This report:

[ 51s] 1/23 ndctl:ndctl / libndctl SKIP
0.02s exit status 77

...seems to indicate that the nfit_test modules did not appear to load
correctly. I never expected that the nfit_test modules would be
redistributable, so I was surprised to see them being installed by an
actual package "nfit_test-kmp-default-0_k5.17.4_1-6.1". The reason
they are not redistributable is because they require replacing the
production build of the kernel provided modules libnvdimm.ko,
nd_pmem.ko, etc... What I expect is happening is that the production
version of libnvdimm.ko is already loaded (or is the only one on the
system), and ndctl_test_init()
(https://github.com/pmem/ndctl/blob/main/test/core.c#L110) detects
that case and skips the tests.

This is what I see with my setup that uses the sequence below to
install nfit_test and friends:

Test summary:
Ok: 35
Expected Fail: 0
Fail: 1
Unexpected Pass: 0
Skipped: 1
Timeout: 0

Install procedure from a kernel build directory:
export INSTALL_MOD_PATH=$root
make INSTALL_HDR_PATH=$root/usr headers_install
make M=tools/testing/nvdimm modules_install
make M=tools/testing/cxl modules_install
make modules_install