summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoruebayasi <uebayasi@NetBSD.org>2014-10-31 09:11:42 +0000
committeruebayasi <uebayasi@NetBSD.org>2014-10-31 09:11:42 +0000
commit56dfcdfafd8eaca373fbd14ac503c672aedc8461 (patch)
tree55ad42b0e35eb75349e30207a7e6bd697b15d50f
parent6744723ab1cbea94fa913197472a13ee9b067a04 (diff)
config(1): Briefly test ioconf.c output
-rw-r--r--tests/usr.bin/config/support/conf/files6
-rw-r--r--tests/usr.bin/config/t_config.sh28
2 files changed, 33 insertions, 1 deletions
diff --git a/tests/usr.bin/config/support/conf/files b/tests/usr.bin/config/support/conf/files
index 902bd8e7dbd..01022ee6234 100644
--- a/tests/usr.bin/config/support/conf/files
+++ b/tests/usr.bin/config/support/conf/files
@@ -33,3 +33,9 @@ file b.c b
define c: b
file c.c c
+
+define i {}
+
+device d: i
+attach d at root
+file d.c d
diff --git a/tests/usr.bin/config/t_config.sh b/tests/usr.bin/config/t_config.sh
index 42dd11a8801..f1319e72f68 100644
--- a/tests/usr.bin/config/t_config.sh
+++ b/tests/usr.bin/config/t_config.sh
@@ -1,4 +1,4 @@
-# $NetBSD: t_config.sh,v 1.4 2014/10/31 07:38:36 uebayasi Exp $
+# $NetBSD: t_config.sh,v 1.5 2014/10/31 09:11:42 uebayasi Exp $
#
# Copyright (c) 2008, 2010 The NetBSD Foundation, Inc.
# All rights reserved.
@@ -166,6 +166,31 @@ no_select_body() {
test_output no_select
}
+# Device instance
+test_case devi pass "Device instance"
+devi_config_str='
+include "../d_min"
+d0 at root
+'
+check_devi()
+{
+ local f=ioconf.c
+
+ sed -ne '/^struct cfdriver \* const cfdriver_list_initial\[\]/,/^};/p' $f >tmp.cfdriver
+ sed -ne '/^struct cfdata cfdata\[\]/,/^};/p' $f >tmp.cfdata
+
+ grep -q '^CFDRIVER_DECL(d, ' $f &&
+ grep -q '&d_cd,' tmp.cfdriver &&
+ grep -q '^extern struct cfattach d_ca;$' $f &&
+ grep -q '^static const struct cfiattrdata \* const d_attrs\[\]' $f &&
+ grep -q '^static const struct cfiattrdata icf_iattrdata' $f &&
+ grep -q '{ "d",' tmp.cfdata &&
+ :
+}
+devi_body() {
+ test_output devi
+}
+
# Check minimal kernel config(1) output
test_case min pass "Minimal config"
check_min_files()
@@ -217,5 +242,6 @@ atf_init_test_cases()
atf_add_test_case no_undefined_opt
atf_add_test_case select
atf_add_test_case no_select
+ atf_add_test_case devi
atf_add_test_case min
}