lib/libkvm: start adding basic tests for kvm(3)
authorngie <ngie@FreeBSD.org>
Tue, 28 Mar 2017 17:37:49 +0000 (17:37 +0000)
committerngie <ngie@FreeBSD.org>
Tue, 28 Mar 2017 17:37:49 +0000 (17:37 +0000)
commita5dab3b819ddd8a53742cac950c3f44daf29f439
tree87afc33b16eecf5a2bc7f65be2b9b3d9e0fba9f1
parent6865a62f4080ccc1b80b6490828f176cbb64dc04
lib/libkvm: start adding basic tests for kvm(3)

- kvm_close: add a testcase to verify support for errno = EINVAL / -1
  (see D10065) when kd == NULL is provided to the libcall.
- kvm_geterr:
-- Add a negative testcase for kd == NULL returning "" (see D10022).
-- Add two positive testcases:
--- test the error case using kvm_write on a O_RDONLY descriptor.
--- test the "no error" case using kvm_read(3) and kvm_nlist(3) as
    helper routines and by injecting a bogus error message via
    _kvm_err (an internal API) _kvm_err was used as there isn't a
    formalized way to clear the error output, and because
    kvm_nlist always returns ENOENT with the NULL terminator today.
- kvm_open, kvm_open2:
-- Add some basic negative tests for kvm_open(3) and kvm_open2(3).
   Testing positive cases with a specific
   `corefile`/`execfile`/`resolver` requires more work and would require
   user intervention today in order to reliably test this out.

Reviewed by: markj
MFC after: 2 months
Sponsored by: Dell EMC Isilon
Differential Revision: D10024
etc/mtree/BSD.tests.dist
lib/libkvm/Makefile
lib/libkvm/tests/Makefile [new file with mode: 0644]
lib/libkvm/tests/kvm_close_test.c [new file with mode: 0644]
lib/libkvm/tests/kvm_geterr_test.c [new file with mode: 0644]
lib/libkvm/tests/kvm_open2_test.c [new file with mode: 0644]
lib/libkvm/tests/kvm_open_test.c [new file with mode: 0644]
lib/libkvm/tests/kvm_test_common.c [new file with mode: 0644]
lib/libkvm/tests/kvm_test_common.h [new file with mode: 0644]