Page MenuHomeFreeBSD

D40043.id121800.diff
No OneTemporary

D40043.id121800.diff

diff --git a/etc/mtree/BSD.tests.dist b/etc/mtree/BSD.tests.dist
--- a/etc/mtree/BSD.tests.dist
+++ b/etc/mtree/BSD.tests.dist
@@ -1116,6 +1116,8 @@
..
truncate
..
+ tsort
+ ..
units
..
unifdef
diff --git a/usr.bin/tsort/Makefile b/usr.bin/tsort/Makefile
--- a/usr.bin/tsort/Makefile
+++ b/usr.bin/tsort/Makefile
@@ -1,6 +1,11 @@
# @(#)Makefile 8.1 (Berkeley) 6/9/93
# $FreeBSD$
+.include <src.opts.mk>
+
PROG= tsort
+HAS_TESTS=
+SUBDIR.${MK_TESTS}= tests
+
.include <bsd.prog.mk>
diff --git a/usr.bin/tsort/tests/Makefile b/usr.bin/tsort/tests/Makefile
new file mode 100644
--- /dev/null
+++ b/usr.bin/tsort/tests/Makefile
@@ -0,0 +1,6 @@
+PACKAGE= tests
+
+ATF_TESTS_SH= tsort_test
+BINDIR= ${TESTSDIR}
+
+.include <bsd.test.mk>
diff --git a/usr.bin/tsort/tests/tsort_test.sh b/usr.bin/tsort/tests/tsort_test.sh
new file mode 100755
--- /dev/null
+++ b/usr.bin/tsort/tests/tsort_test.sh
@@ -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
+}

File Metadata

Mime Type
text/plain
Expires
Mon, Mar 30, 9:27 AM (14 h, 9 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
30582994
Default Alt Text
D40043.id121800.diff (1 KB)

Event Timeline