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.
MFC after: 1 month
Sponsored by: Dell EMC Isilon