mirror of
https://git.hardenedbsd.org/hardenedbsd/HardenedBSD.git
synced 2024-11-22 03:04:34 +01:00
env: Add a handful of test cases.
MFC after: 3 days Sponsored by: Klara, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D46996
This commit is contained in:
parent
c59166e5b4
commit
334af5e413
@ -1097,6 +1097,8 @@
|
|||||||
..
|
..
|
||||||
du
|
du
|
||||||
..
|
..
|
||||||
|
env
|
||||||
|
..
|
||||||
factor
|
factor
|
||||||
..
|
..
|
||||||
file
|
file
|
||||||
|
5
usr.bin/env/Makefile
vendored
5
usr.bin/env/Makefile
vendored
@ -1,7 +1,12 @@
|
|||||||
|
.include <src.opts.mk>
|
||||||
|
|
||||||
PACKAGE= runtime
|
PACKAGE= runtime
|
||||||
PROG= env
|
PROG= env
|
||||||
SRCS= env.c envopts.c
|
SRCS= env.c envopts.c
|
||||||
|
|
||||||
LIBADD= util
|
LIBADD= util
|
||||||
|
|
||||||
|
HAS_TESTS=
|
||||||
|
SUBDIR.${MK_TESTS}= tests
|
||||||
|
|
||||||
.include <bsd.prog.mk>
|
.include <bsd.prog.mk>
|
||||||
|
6
usr.bin/env/tests/Makefile
vendored
Normal file
6
usr.bin/env/tests/Makefile
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
PACKAGE= tests
|
||||||
|
|
||||||
|
ATF_TESTS_SH= env_test
|
||||||
|
BINDIR= ${TESTSDIR}
|
||||||
|
|
||||||
|
.include <bsd.test.mk>
|
100
usr.bin/env/tests/env_test.sh
vendored
Normal file
100
usr.bin/env/tests/env_test.sh
vendored
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
#
|
||||||
|
# Copyright (c) 2024 Klara, Inc.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
|
#
|
||||||
|
|
||||||
|
magic_words="Squeamish $$ Ossifrage"
|
||||||
|
|
||||||
|
atf_test_case basic
|
||||||
|
basic_head()
|
||||||
|
{
|
||||||
|
atf_set "descr" "Basic test case"
|
||||||
|
}
|
||||||
|
basic_body()
|
||||||
|
{
|
||||||
|
atf_check -o match:"^magic_words=${magic_words}\$" \
|
||||||
|
env magic_words="${magic_words}"
|
||||||
|
export MAGIC_WORDS="${magic_words}"
|
||||||
|
atf_check -o match:"^MAGIC_WORDS=${magic_words}\$" \
|
||||||
|
env
|
||||||
|
unset MAGIC_WORDS
|
||||||
|
}
|
||||||
|
|
||||||
|
atf_test_case unset
|
||||||
|
unset_head()
|
||||||
|
{
|
||||||
|
atf_set "descr" "Unset a variable"
|
||||||
|
}
|
||||||
|
unset_body()
|
||||||
|
{
|
||||||
|
export MAGIC_WORDS="${magic_words}"
|
||||||
|
atf_check -o not-match:"^MAGIC_WORDS=" \
|
||||||
|
env -u MAGIC_WORDS
|
||||||
|
unset MAGIC_WORDS
|
||||||
|
}
|
||||||
|
|
||||||
|
atf_test_case empty
|
||||||
|
empty_head()
|
||||||
|
{
|
||||||
|
atf_set "descr" "Empty environment"
|
||||||
|
}
|
||||||
|
empty_body()
|
||||||
|
{
|
||||||
|
atf_check env -i
|
||||||
|
}
|
||||||
|
|
||||||
|
atf_test_case true
|
||||||
|
true_head()
|
||||||
|
{
|
||||||
|
atf_set "descr" "Run true"
|
||||||
|
}
|
||||||
|
true_body()
|
||||||
|
{
|
||||||
|
atf_check env true
|
||||||
|
}
|
||||||
|
|
||||||
|
atf_test_case false
|
||||||
|
false_head()
|
||||||
|
{
|
||||||
|
atf_set "descr" "Run false"
|
||||||
|
}
|
||||||
|
false_body()
|
||||||
|
{
|
||||||
|
atf_check -s exit:1 env false
|
||||||
|
}
|
||||||
|
|
||||||
|
atf_test_case false
|
||||||
|
false_head()
|
||||||
|
{
|
||||||
|
atf_set "descr" "Run false"
|
||||||
|
}
|
||||||
|
false_body()
|
||||||
|
{
|
||||||
|
atf_check -s exit:1 env false
|
||||||
|
}
|
||||||
|
|
||||||
|
atf_test_case altpath
|
||||||
|
altpath_head()
|
||||||
|
{
|
||||||
|
atf_set "descr" "Use alternate path"
|
||||||
|
}
|
||||||
|
altpath_body()
|
||||||
|
{
|
||||||
|
echo "echo ${magic_words}" >magic_words
|
||||||
|
chmod 0755 magic_words
|
||||||
|
atf_check -s exit:127 -e match:"No such file" \
|
||||||
|
env magic_words
|
||||||
|
atf_check -o inline:"${magic_words}\n" \
|
||||||
|
env -P "${PWD}" magic_words
|
||||||
|
}
|
||||||
|
|
||||||
|
atf_init_test_cases()
|
||||||
|
{
|
||||||
|
atf_add_test_case basic
|
||||||
|
atf_add_test_case unset
|
||||||
|
atf_add_test_case empty
|
||||||
|
atf_add_test_case true
|
||||||
|
atf_add_test_case false
|
||||||
|
atf_add_test_case altpath
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user