1# 2# Copyright (c) 2026 Dag-Erling Smørgrav <des@FreeBSD.org> 3# 4# SPDX-License-Identifier: BSD-2-Clause 5# 6 7atf_test_case stdin 8stdin_head() 9{ 10 atf_set "descr" "Read from stdin" 11} 12stdin_body() 13{ 14 local dir=$(atf_get_srcdir) 15 atf_check -o file:"${dir}/test.out" \ 16 ident < "${dir}/test.in" 17} 18 19atf_test_case file 20file_head() 21{ 22 atf_set "descr" "Read from a file" 23} 24file_body() 25{ 26 local dir=$(atf_get_srcdir) 27 echo "${dir}/test.in:" >out 28 cat "${dir}/test.out" >>out 29 atf_check -o file:out ident "${dir}/test.in" 30} 31 32atf_test_case noid 33noid_head() 34{ 35 atf_set "descr" "No id keywords in input" 36} 37noid_body() 38{ 39 local dir=$(atf_get_srcdir) 40 atf_check \ 41 -s exit:1 \ 42 -o inline:"${dir}/testnoid:\n" \ 43 -e inline:"ident warning: no id keywords in ${dir}/testnoid\n" \ 44 ident "${dir}/testnoid" 45} 46 47atf_test_case multi 48multi_head() 49{ 50 atf_set "descr" "Multiple inputs" 51} 52multi_body() 53{ 54 local dir=$(atf_get_srcdir) 55 echo "${dir}/test.in:" >out 56 cat "${dir}/test.out" >>out 57 echo "${dir}/testnoid:" >>out 58 atf_check \ 59 -s exit:1 \ 60 -o file:out \ 61 -e inline:"ident warning: no id keywords in ${dir}/testnoid\n" \ 62 ident "${file}" 63} 64 65atf_test_case stdout 66stdout_head() 67{ 68 atf_set "descr" "Failure to write to stdout" 69} 70stdout_body() 71{ 72 local dir=$(atf_get_srcdir) 73 mkfifo fifo 74 : <fifo & 75 { 76 wait 77 trap "" PIPE 78 ident "${dir}"/test.in 2>stderr 79 result=$? 80 } >fifo 81 atf_check_equal 1 "$result" 82 atf_check -o match:"stdout" cat stderr 83} 84 85atf_init_test_cases() 86{ 87 atf_add_test_case stdin 88 atf_add_test_case file 89 atf_add_test_case noid 90 atf_add_test_case stdout 91} 92