tsort: Add unit tests.
MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D40043
This commit is contained in:
parent
b55bc49e86
commit
09aee57098
@ -1116,6 +1116,8 @@
|
|||||||
..
|
..
|
||||||
truncate
|
truncate
|
||||||
..
|
..
|
||||||
|
tsort
|
||||||
|
..
|
||||||
units
|
units
|
||||||
..
|
..
|
||||||
unifdef
|
unifdef
|
||||||
|
@ -1,6 +1,11 @@
|
|||||||
# @(#)Makefile 8.1 (Berkeley) 6/9/93
|
# @(#)Makefile 8.1 (Berkeley) 6/9/93
|
||||||
# $FreeBSD$
|
# $FreeBSD$
|
||||||
|
|
||||||
|
.include <src.opts.mk>
|
||||||
|
|
||||||
PROG= tsort
|
PROG= tsort
|
||||||
|
|
||||||
|
HAS_TESTS=
|
||||||
|
SUBDIR.${MK_TESTS}= tests
|
||||||
|
|
||||||
.include <bsd.prog.mk>
|
.include <bsd.prog.mk>
|
||||||
|
6
usr.bin/tsort/tests/Makefile
Normal file
6
usr.bin/tsort/tests/Makefile
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
PACKAGE= tests
|
||||||
|
|
||||||
|
ATF_TESTS_SH= tsort_test
|
||||||
|
BINDIR= ${TESTSDIR}
|
||||||
|
|
||||||
|
.include <bsd.test.mk>
|
66
usr.bin/tsort/tests/tsort_test.sh
Executable file
66
usr.bin/tsort/tests/tsort_test.sh
Executable file
@ -0,0 +1,66 @@
|
|||||||
|
#
|
||||||
|
# Copyright (c) 2023 Klara, Inc.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
|
#
|
||||||
|
|
||||||
|
atf_test_case basic
|
||||||
|
basic_head()
|
||||||
|
{
|
||||||
|
atf_set "descr" "Sort a basic graph"
|
||||||
|
}
|
||||||
|
basic_body()
|
||||||
|
{
|
||||||
|
cat >input <<EOF
|
||||||
|
A B
|
||||||
|
A F
|
||||||
|
B C
|
||||||
|
B D
|
||||||
|
D E
|
||||||
|
EOF
|
||||||
|
cat >output <<EOF
|
||||||
|
A
|
||||||
|
F
|
||||||
|
B
|
||||||
|
D
|
||||||
|
C
|
||||||
|
E
|
||||||
|
EOF
|
||||||
|
atf_check -o file:output tsort input
|
||||||
|
atf_check -o file:output tsort <input
|
||||||
|
}
|
||||||
|
|
||||||
|
atf_test_case cycle
|
||||||
|
cycle_head()
|
||||||
|
{
|
||||||
|
atf_set "descr" "Sort a graph with a cycle"
|
||||||
|
}
|
||||||
|
cycle_body()
|
||||||
|
{
|
||||||
|
cat >input <<EOF
|
||||||
|
A B
|
||||||
|
A F
|
||||||
|
B C
|
||||||
|
B D
|
||||||
|
D E
|
||||||
|
D A
|
||||||
|
EOF
|
||||||
|
cat >output<<EOF
|
||||||
|
D
|
||||||
|
E
|
||||||
|
A
|
||||||
|
F
|
||||||
|
B
|
||||||
|
C
|
||||||
|
EOF
|
||||||
|
atf_check -e match:cycle -o file:output tsort input
|
||||||
|
atf_check -e match:cycle -o file:output tsort <input
|
||||||
|
atf_check -o file:output tsort -q input
|
||||||
|
atf_check -o file:output tsort -q <input
|
||||||
|
}
|
||||||
|
|
||||||
|
atf_init_test_cases()
|
||||||
|
{
|
||||||
|
atf_add_test_case basic
|
||||||
|
atf_add_test_case cycle
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user