To do so, a few dependencies have been imported: * external/bsd/lutok * external/mit/lua * external/public-domain/sqlite * external/public-domain/xz The Kyua framework is the new generation of ATF (Automated Test Framework), it is composed of: * external/bsd/atf * external/bsd/kyua-atf-compat * external/bsd/kyua-cli * external/bsd/kyua-tester * tests Kyua/ATF being written in C++, it depends on libstdc++ which is provided by GCC. As this is not part of the sources, Kyua is only compiled when the native GCC utils are installed. To install Kyua do the following: * In a cross-build enviromnent, add the following to the build.sh commandline: -V MKBINUTILS=yes -V MKGCCCMDS=yes WARNING: At this point the import is still experimental, and not supported on native builds (a.k.a make build). Change-Id: I26aee23c5bbd2d64adcb7c1beb98fe0d479d7ada
		
			
				
	
	
		
			100 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			100 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
# $NetBSD: ffs_common.sh,v 1.1 2012/01/18 20:51:23 bouyer Exp $ 
 | 
						|
 | 
						|
create_ffs()
 | 
						|
{
 | 
						|
	local endian=$1; shift
 | 
						|
	local vers=$1; shift
 | 
						|
	local type=$1; shift
 | 
						|
	local op;
 | 
						|
	if [ ${type} = "both" ]; then
 | 
						|
		op="-q user -q group"
 | 
						|
	else
 | 
						|
		op="-q ${type}"
 | 
						|
	fi
 | 
						|
	atf_check -o ignore -e ignore newfs ${op} \
 | 
						|
		-B ${endian} -O ${vers} -s 4000 -F ${IMG}
 | 
						|
}
 | 
						|
 | 
						|
create_ffs_server()
 | 
						|
{	
 | 
						|
	local sarg=$1; shift
 | 
						|
	create_ffs $*
 | 
						|
	atf_check -o ignore -e ignore $(atf_get_srcdir)/h_ffs_server \
 | 
						|
		${sarg} ${IMG} ${RUMP_SERVER}
 | 
						|
}
 | 
						|
 | 
						|
rump_shutdown()
 | 
						|
{
 | 
						|
	for s in ${RUMP_SOCKETS_LIST}; do
 | 
						|
		atf_check -s exit:0 env RUMP_SERVER=unix://${s} rump.halt;
 | 
						|
	done
 | 
						|
# check that the quota inode creation didn't corrupt the filesystem
 | 
						|
	atf_check -s exit:0 -o "match:already clean" \
 | 
						|
		-o "match:Phase 6 - Check Quotas" \
 | 
						|
		fsck_ffs -nf -F ${IMG}
 | 
						|
}
 | 
						|
 | 
						|
# from tests/ipf/h_common.sh via tests/sbin/resize_ffs
 | 
						|
test_case()
 | 
						|
{
 | 
						|
	local name="${1}"; shift
 | 
						|
	local check_function="${1}"; shift
 | 
						|
	local descr="${1}"; shift
 | 
						|
	
 | 
						|
	atf_test_case "${name}" cleanup
 | 
						|
 | 
						|
	eval "${name}_head() { \
 | 
						|
		atf_set "descr" "${descr}"
 | 
						|
		atf_set "timeout" "60"
 | 
						|
	}"
 | 
						|
	eval "${name}_body() { \
 | 
						|
		RUMP_SOCKETS_LIST=\${RUMP_SOCKET}; \
 | 
						|
		export RUMP_SERVER=unix://\${RUMP_SOCKET}; \
 | 
						|
		${check_function} " "${@}" "; \
 | 
						|
	}"
 | 
						|
	eval "${name}_cleanup() { \
 | 
						|
		for s in \${RUMP_SOCKETS_LIST}; do \
 | 
						|
			export RUMP_SERVER=unix://\${s}; \
 | 
						|
			atf_check -s exit:1 -o ignore -e ignore rump.halt; \
 | 
						|
		done; \
 | 
						|
	}"
 | 
						|
	tests="${tests} ${name}"
 | 
						|
}
 | 
						|
 | 
						|
test_case_root()
 | 
						|
{
 | 
						|
	local name="${1}"; shift
 | 
						|
	local check_function="${1}"; shift
 | 
						|
	local descr="${1}"; shift
 | 
						|
	
 | 
						|
	atf_test_case "${name}" cleanup
 | 
						|
 | 
						|
	eval "${name}_head() { \
 | 
						|
		atf_set "descr" "${descr}"
 | 
						|
		atf_set "require.user" "root"
 | 
						|
		atf_set "timeout" "60"
 | 
						|
	}"
 | 
						|
	eval "${name}_body() { \
 | 
						|
		RUMP_SOCKETS_LIST=\${RUMP_SOCKET}; \
 | 
						|
		export RUMP_SERVER=unix://\${RUMP_SOCKET}; \
 | 
						|
		${check_function} " "${@}" "; \
 | 
						|
	}"
 | 
						|
	eval "${name}_cleanup() { \
 | 
						|
		for s in \${RUMP_SOCKETS_LIST}; do \
 | 
						|
			export RUMP_SERVER=unix://\${s}; \
 | 
						|
			atf_check -s exit:1 -o ignore -e ignore rump.halt; \
 | 
						|
		done; \
 | 
						|
	}"
 | 
						|
	tests="${tests} ${name}"
 | 
						|
}
 | 
						|
 | 
						|
atf_init_test_cases()
 | 
						|
{
 | 
						|
	IMG=fsimage
 | 
						|
	DIR=target
 | 
						|
	RUMP_SOCKET=test;
 | 
						|
	for i in ${tests}; do
 | 
						|
		atf_add_test_case $i
 | 
						|
	done
 | 
						|
}
 |