1# 2# Copyright (c) 2023 Klara, Inc. 3# 4# SPDX-License-Identifier: BSD-2-Clause 5# 6 7atf_test_case hash_comment 8hash_comment_head() { 9 atf_set descr "multiline comment follows directive" 10} 11hash_comment_body() { 12 cat >f <<EOF 13#if FOO 14a 15#endif /* 16*/ 17EOF 18 atf_check -o file:f unifdef <f 19} 20 21atf_test_case redefine 22redefine_head() { 23 atf_set descr "redefine the same symbol" 24} 25redefine_body() { 26 cat >file <<EOF 27#if FOO 28a 29#else 30b 31#endif 32EOF 33 atf_check -s exit:1 -o inline:"a\n" unifdef -DFOO <file 34 atf_check -s exit:1 -o inline:"a\n" unifdef -UFOO -DFOO <file 35 atf_check -s exit:1 -o inline:"a\n" unifdef -DFOO=0 -DFOO <file 36 atf_check -s exit:1 -o inline:"b\n" unifdef -UFOO <file 37 atf_check -s exit:1 -o inline:"b\n" unifdef -DFOO -UFOO <file 38 atf_check -s exit:1 -o inline:"b\n" unifdef -DFOO -DFOO=0 <file 39} 40 41atf_test_case sDU 42sDU_head() { 43 atf_set descr "simultaneous use of -s and -D or -U" 44} 45sDU_body() { 46 atf_check unifdef -s -DFOO -UFOO /dev/null 47 atf_check unifdef -s -DFOO -DBAR=FOO /dev/null 48} 49 50atf_init_test_cases() { 51 atf_add_test_case hash_comment 52 atf_add_test_case redefine 53 atf_add_test_case sDU 54} 55