tty (1194B)
- #!/usr/bin/env atf-sh
- # SPDX-FileCopyrightText: 2017-2022 Haelwenn (lanodan) Monnier <contact+utils@hacktivis.me>
- # SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only
- atf_test_case basic
- basic_body() {
- tty >/dev/null || atf_expect_fail "test environment not in a tty"
- atf_check -o 'not-inline:not a tty\n' ../bin/tty
- }
- atf_test_case in_devnull
- in_devnull_body() {
- atf_check -s 'exit:1' -o 'inline:not a tty\n' ../bin/tty </dev/null
- }
- atf_test_case out_devnull
- out_devnull_body() {
- tty >/dev/null || atf_expect_fail "test environment not in a tty"
- atf_check -o 'not-inline:not a tty\n' sh -c '../bin/tty >/dev/null'
- }
- atf_test_case out_devfull
- out_devfull_body() {
- has_glibc && atf_expect_fail "glibc ignoring write errors for puts()"
- [ "$(uname -s)" = "NetBSD" ] && atf_expect_fail "NetBSD ignoring write errors for puts()"
- [ "$(uname -s)" = "FreeBSD" ] && atf_expect_fail "FreeBSD ignoring write errors for puts()"
- atf_check -s "exit:2" sh -c '../bin/tty >/dev/full'
- }
- atf_init_test_cases() {
- cd "$(atf_get_srcdir)" || exit 1
- . ../test_functions.sh
- atf_add_test_case basic
- atf_add_test_case in_devnull
- atf_add_test_case out_devnull
- atf_add_test_case out_devfull
- }