aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAlex Richardson <arichardson@FreeBSD.org>2021-03-02 18:27:34 +0000
committerAlex Richardson <arichardson@FreeBSD.org>2021-03-02 18:27:36 +0000
commit53a535c1d80a2e5ea33a4e8807647e600402b1d8 (patch)
treefc50955c34696d933dbe5cafbb00b037bc4f6562 /tests
parent28cd3a673e0e32b009fd573764956b280d1affe1 (diff)
Diffstat (limited to 'tests')
-rwxr-xr-xtests/sys/capsicum/functional.sh70
1 files changed, 17 insertions, 53 deletions
diff --git a/tests/sys/capsicum/functional.sh b/tests/sys/capsicum/functional.sh
index 6e11a9c4621a..0bd6b2d5e983 100755
--- a/tests/sys/capsicum/functional.sh
+++ b/tests/sys/capsicum/functional.sh
@@ -29,69 +29,33 @@
#
# $FreeBSD$
-SRCDIR=$(atf_get_srcdir)
CAPSICUM_TEST_BIN=capsicum-test
-check()
-{
- local tc=${1}
+atf_test_case "test_root"
+test_root_head() {
- atf_check -s exit:0 -o match:PASSED -e ignore \
- ${SRCDIR}/${CAPSICUM_TEST_BIN} --gtest_filter=${tc}
+ atf_set descr 'Run capsicum-test as root'
+ atf_set require.user root
}
-skip()
-{
- local reason=${1}
-
- atf_skip "${reason}"
+test_root_body() {
+ atf_check -s exit:0 -o match:PASSED -e ignore \
+ "$(atf_get_srcdir)/${CAPSICUM_TEST_BIN}" -u "$(id -u tests)"
}
-add_testcase()
-{
- local tc=${1}
- local tc_escaped word
-
- tc_escaped=$(echo ${tc} | sed -e 's/\./__/')
-
- atf_test_case ${tc_escaped}
-
- if [ "$(atf_config_get ci false)" = "true" ]; then
- case "${tc_escaped}" in
- ForkedOpenatTest_WithFlagInCapabilityMode___|OpenatTest__WithFlag)
- eval "${tc_escaped}_body() { skip \"https://bugs.freebsd.org/249960\"; }"
- ;;
- PipePdfork__WildcardWait)
- eval "${tc_escaped}_body() { skip \"https://bugs.freebsd.org/244165\"; }"
- ;;
- Capability__NoBypassDAC)
- eval "${tc_escaped}_body() { skip \"https://bugs.freebsd.org/250178\"; }"
- ;;
- Pdfork__OtherUserForked)
- eval "${tc_escaped}_body() { skip \"https://bugs.freebsd.org/250179\"; }"
- ;;
- *)
- eval "${tc_escaped}_body() { check ${tc}; }"
- ;;
- esac
- else
- eval "${tc_escaped}_body() { check ${tc}; }"
- fi
+atf_test_case "test_unprivileged"
+test_unprivileged_head() {
- atf_add_test_case ${tc_escaped}
+ atf_set descr 'Run capsicum-test as an unprivileged user'
+ atf_set require.user unprivileged
}
-list_tests()
-{
- ${SRCDIR}/${CAPSICUM_TEST_BIN} --gtest_list_tests | awk '
- /^[^ ]/ { CAT=$0 }
- /^[ ]/ { print CAT $1}'
+test_unprivileged_body() {
+ atf_check -s exit:0 -o match:PASSED -e ignore \
+ "$(atf_get_srcdir)/${CAPSICUM_TEST_BIN}" -u "$(id -u)"
}
-atf_init_test_cases()
-{
- local t
- for t in `list_tests`; do
- add_testcase $t
- done
+atf_init_test_cases() {
+ atf_add_test_case test_root
+ atf_add_test_case test_unprivileged
}