Date: Sat, 27 May 2017 23:26:10 +0000 (UTC) From: Ngie Cooper <ngie@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r319012 - in stable/10: etc/mtree lib/libkvm lib/libkvm/tests Message-ID: <201705272326.v4RNQAWU065778@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: ngie Date: Sat May 27 23:26:10 2017 New Revision: 319012 URL: https://svnweb.freebsd.org/changeset/base/319012 Log: MFC r316099: 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 note: lib/libkvm/kvm_open2_test is not compiled/tested because ^/stable/10 lacks the kvm_open2(3) libcall. Added: stable/10/lib/libkvm/tests/ - copied from r316099, head/lib/libkvm/tests/ Modified: stable/10/etc/mtree/BSD.tests.dist stable/10/lib/libkvm/Makefile stable/10/lib/libkvm/tests/Makefile stable/10/lib/libkvm/tests/kvm_geterr_test.c Directory Properties: stable/10/ (props changed) Modified: stable/10/etc/mtree/BSD.tests.dist ============================================================================== --- stable/10/etc/mtree/BSD.tests.dist Sat May 27 23:24:33 2017 (r319011) +++ stable/10/etc/mtree/BSD.tests.dist Sat May 27 23:26:10 2017 (r319012) @@ -310,6 +310,8 @@ .. libcrypt .. + libkvm + .. libmp .. libnv Modified: stable/10/lib/libkvm/Makefile ============================================================================== --- stable/10/lib/libkvm/Makefile Sat May 27 23:24:33 2017 (r319011) +++ stable/10/lib/libkvm/Makefile Sat May 27 23:26:10 2017 (r319012) @@ -34,4 +34,10 @@ MLINKS+=kvm_getprocs.3 kvm_getargv.3 kvm MLINKS+=kvm_open.3 kvm_close.3 kvm_open.3 kvm_openfiles.3 MLINKS+=kvm_read.3 kvm_write.3 +.include <bsd.own.mk> + +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif + .include <bsd.lib.mk> Modified: stable/10/lib/libkvm/tests/Makefile ============================================================================== --- head/lib/libkvm/tests/Makefile Tue Mar 28 17:37:49 2017 (r316099) +++ stable/10/lib/libkvm/tests/Makefile Sat May 27 23:26:10 2017 (r319012) @@ -5,11 +5,13 @@ ATF_TESTS_C+= kvm_close_test ATF_TESTS_C+= kvm_geterr_test ATF_TESTS_C+= kvm_open_test -ATF_TESTS_C+= kvm_open2_test +# NB: kvm_open2(3) isn't available on ^/stable/10 +#ATF_TESTS_C+= kvm_open2_test CFLAGS.kvm_geterr_test+= -I${.CURDIR:H} -LIBADD+= kvm +DPADD+= ${LIBKVM} +LDADD+= -lkvm WARNS?= 6 Modified: stable/10/lib/libkvm/tests/kvm_geterr_test.c ============================================================================== --- head/lib/libkvm/tests/kvm_geterr_test.c Tue Mar 28 17:37:49 2017 (r316099) +++ stable/10/lib/libkvm/tests/kvm_geterr_test.c Sat May 27 23:26:10 2017 (r319012) @@ -56,6 +56,8 @@ ATF_TC_BODY(kvm_geterr_negative_test_NUL ATF_REQUIRE(!errbuf_has_error(kvm_geterr(NULL))); } +/* 1100090 was where kvm_open2(3) was introduced. */ +#if __FreeBSD_version >= 1100091 ATF_TC(kvm_geterr_positive_test_error); ATF_TC_HEAD(kvm_geterr_positive_test_error, tc) { @@ -125,13 +127,16 @@ ATF_TC_BODY(kvm_geterr_positive_test_no_ ATF_REQUIRE_MSG(kvm_close(kd) == 0, "kvm_close failed: %s", strerror(errno)); } +#endif ATF_TP_ADD_TCS(tp) { ATF_TP_ADD_TC(tp, kvm_geterr_negative_test_NULL); +#if __FreeBSD_version >= 1100091 ATF_TP_ADD_TC(tp, kvm_geterr_positive_test_error); ATF_TP_ADD_TC(tp, kvm_geterr_positive_test_no_error); +#endif return (atf_no_error()); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201705272326.v4RNQAWU065778>