Date: Wed, 7 Nov 2012 22:03:59 +0000 (UTC) From: "Simon J. Gerraty" <sjg@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r242713 - head/lib/libcrypt/tests Message-ID: <201211072203.qA7M3xCc014445@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: sjg Date: Wed Nov 7 22:03:59 2012 New Revision: 242713 URL: http://svnweb.freebsd.org/changeset/base/242713 Log: Simple unit-tests for libcrypt, to show how easy it is. Approved by: marcel (mentor) Added: head/lib/libcrypt/tests/ head/lib/libcrypt/tests/Makefile (contents, props changed) head/lib/libcrypt/tests/crypt_tests.c (contents, props changed) Added: head/lib/libcrypt/tests/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lib/libcrypt/tests/Makefile Wed Nov 7 22:03:59 2012 (r242713) @@ -0,0 +1,10 @@ +# $FreeBSD$ + +# exercise libcrypt + +TESTS_C= crypt_tests + +CFLAGS+= -I${.CURDIR:H} +LDADD+= -L${.OBJDIR:H} -lcrypt + +.include <atf.test.mk> Added: head/lib/libcrypt/tests/crypt_tests.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lib/libcrypt/tests/crypt_tests.c Wed Nov 7 22:03:59 2012 (r242713) @@ -0,0 +1,54 @@ +#include <sys/cdefs.h> +__FBSDID("$FreeBSD$"); + +#include <sys/types.h> +#include <crypt.h> +#include <unistd.h> + +#include <atf-c.h> + +#define LEET "0.s0.l33t" + +ATF_TC(md5); +ATF_TC_HEAD(md5, tc) +{ + + atf_tc_set_md_var(tc, "descr", "Tests the MD5 based password hash"); +} + +ATF_TC_BODY(md5, tc) +{ + const char want[] = "$1$deadbeef$0Huu6KHrKLVWfqa4WljDE0"; + char *pw; + + pw = crypt(LEET, want); + ATF_CHECK_STREQ(pw, want); +} + +ATF_TC(invalid); +ATF_TC_HEAD(invalid, tc) +{ + + atf_tc_set_md_var(tc, "descr", "Tests that invalid password fails"); +} + +ATF_TC_BODY(invalid, tc) +{ + const char want[] = "$1$cafebabe$0Huu6KHrKLVWfqa4WljDE0"; + char *pw; + + pw = crypt(LEET, want); + ATF_CHECK(strcmp(pw, want) != 0); +} + +/* + * This function must not do anything except enumerate + * the test cases, else atf-run is likely to be upset. + */ +ATF_TP_ADD_TCS(tp) +{ + + ATF_TP_ADD_TC(tp, md5); + ATF_TP_ADD_TC(tp, invalid); + return atf_no_error(); +}
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201211072203.qA7M3xCc014445>