The branch main has been updated by des:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=4ec3ca55f9a790192152fedb356ffd68fc1b8926

commit 4ec3ca55f9a790192152fedb356ffd68fc1b8926
Author:     Dag-Erling Smørgrav <[email protected]>
AuthorDate: 2026-09-05 15:44:15 +0000
Commit:     Dag-Erling Smørgrav <[email protected]>
CommitDate: 2026-09-05 15:44:35 +0000

    hastd: Add rudimentary tests
    
    Test that we can start and stop hastd with an empty configuration.
    
    Reviewed by:    kevans
    Differential Revision:  https://reviews.freebsd.org/D59345
---
 etc/mtree/BSD.tests.dist       |  2 ++
 sbin/hastd/Makefile            |  3 +++
 sbin/hastd/tests/Makefile      |  4 ++++
 sbin/hastd/tests/hastd_test.sh | 36 ++++++++++++++++++++++++++++++++++++
 4 files changed, 45 insertions(+)

diff --git a/etc/mtree/BSD.tests.dist b/etc/mtree/BSD.tests.dist
index 20f3b36ab40b..30cb61b7a19d 100644
--- a/etc/mtree/BSD.tests.dist
+++ b/etc/mtree/BSD.tests.dist
@@ -495,6 +495,8 @@
         ..
         growfs
         ..
+        hastd
+        ..
         ifconfig
         ..
         ipfw
diff --git a/sbin/hastd/Makefile b/sbin/hastd/Makefile
index 8a79320fb665..ee64143ead70 100644
--- a/sbin/hastd/Makefile
+++ b/sbin/hastd/Makefile
@@ -35,4 +35,7 @@ YFLAGS+=-v
 
 CLEANFILES=y.tab.c y.tab.h y.output
 
+HAS_TESTS=
+SUBDIR.${MK_TESTS}=    tests
+
 .include <bsd.prog.mk>
diff --git a/sbin/hastd/tests/Makefile b/sbin/hastd/tests/Makefile
new file mode 100644
index 000000000000..bce6f3842579
--- /dev/null
+++ b/sbin/hastd/tests/Makefile
@@ -0,0 +1,4 @@
+PACKAGE=       tests
+ATF_TESTS_SH=  hastd_test
+
+.include <bsd.test.mk>
diff --git a/sbin/hastd/tests/hastd_test.sh b/sbin/hastd/tests/hastd_test.sh
new file mode 100644
index 000000000000..065626f22bc6
--- /dev/null
+++ b/sbin/hastd/tests/hastd_test.sh
@@ -0,0 +1,36 @@
+#
+# Copyright (c) 2026 Dag-Erling Smørgrav
+#
+# SPDX-License-Identifier: BSD-2-Clause
+#
+
+atf_test_case ctl cleanup
+ctl_head()
+{
+       atf_set descr "Test that hastd can start, stop, and "\
+               "communicate with hastctl"
+       atf_set require.user "root"
+}
+ctl_body()
+{
+       cat >hast.conf <<EOF
+control $PWD/hastctl
+pidfile $PWD/hastd.pid
+listen $PWD/hastd.sock
+EOF
+       atf_check hastd -c $PWD/hast.conf
+       atf_check -o ignore hastctl status -c $PWD/hast.conf
+       atf_check -o ignore hastctl stop -c $PWD/hast.conf
+       rm -f hastd.pid
+}
+ctl_cleanup()
+{
+       if [ -s hastd.pid ]; then
+               kill -9 "$(cat hastd.pid)" || true
+       fi
+}
+
+atf_init_test_cases()
+{
+       atf_add_test_case ctl
+}

Reply via email to