xref: /freebsd/sbin/hastd/tests/hastd_test.sh (revision 4ec3ca55f9a790192152fedb356ffd68fc1b8926)
1*4ec3ca55SDag-Erling Smørgrav#
2*4ec3ca55SDag-Erling Smørgrav# Copyright (c) 2026 Dag-Erling Smørgrav
3*4ec3ca55SDag-Erling Smørgrav#
4*4ec3ca55SDag-Erling Smørgrav# SPDX-License-Identifier: BSD-2-Clause
5*4ec3ca55SDag-Erling Smørgrav#
6*4ec3ca55SDag-Erling Smørgrav
7*4ec3ca55SDag-Erling Smørgravatf_test_case ctl cleanup
8*4ec3ca55SDag-Erling Smørgravctl_head()
9*4ec3ca55SDag-Erling Smørgrav{
10*4ec3ca55SDag-Erling Smørgrav	atf_set descr "Test that hastd can start, stop, and "\
11*4ec3ca55SDag-Erling Smørgrav		"communicate with hastctl"
12*4ec3ca55SDag-Erling Smørgrav	atf_set require.user "root"
13*4ec3ca55SDag-Erling Smørgrav}
14*4ec3ca55SDag-Erling Smørgravctl_body()
15*4ec3ca55SDag-Erling Smørgrav{
16*4ec3ca55SDag-Erling Smørgrav	cat >hast.conf <<EOF
17*4ec3ca55SDag-Erling Smørgravcontrol $PWD/hastctl
18*4ec3ca55SDag-Erling Smørgravpidfile $PWD/hastd.pid
19*4ec3ca55SDag-Erling Smørgravlisten $PWD/hastd.sock
20*4ec3ca55SDag-Erling SmørgravEOF
21*4ec3ca55SDag-Erling Smørgrav	atf_check hastd -c $PWD/hast.conf
22*4ec3ca55SDag-Erling Smørgrav	atf_check -o ignore hastctl status -c $PWD/hast.conf
23*4ec3ca55SDag-Erling Smørgrav	atf_check -o ignore hastctl stop -c $PWD/hast.conf
24*4ec3ca55SDag-Erling Smørgrav	rm -f hastd.pid
25*4ec3ca55SDag-Erling Smørgrav}
26*4ec3ca55SDag-Erling Smørgravctl_cleanup()
27*4ec3ca55SDag-Erling Smørgrav{
28*4ec3ca55SDag-Erling Smørgrav	if [ -s hastd.pid ]; then
29*4ec3ca55SDag-Erling Smørgrav		kill -9 "$(cat hastd.pid)" || true
30*4ec3ca55SDag-Erling Smørgrav	fi
31*4ec3ca55SDag-Erling Smørgrav}
32*4ec3ca55SDag-Erling Smørgrav
33*4ec3ca55SDag-Erling Smørgravatf_init_test_cases()
34*4ec3ca55SDag-Erling Smørgrav{
35*4ec3ca55SDag-Erling Smørgrav	atf_add_test_case ctl
36*4ec3ca55SDag-Erling Smørgrav}
37