xref: /freebsd/usr.bin/lam/tests/lam_test.sh (revision 8ccc0d235c226d84112561d453c49904398d085c)
1#
2# Copyright (c) 2025 Klara, Inc.
3#
4# SPDX-License-Identifier: BSD-2-Clause
5#
6
7atf_test_case basic
8basic_head()
9{
10	atf_set "descr" "Test basic lam(1) functionality"
11}
12basic_body()
13{
14	printf '1\n2\n3\n' > a
15	printf '4\n5\n6\n' > b
16
17	atf_check -o inline:"14\n25\n36\n" lam a b
18}
19
20atf_test_case sep
21sep_head()
22{
23	atf_set "descr" "Test lam(1) -s and -S options"
24}
25sep_body()
26{
27	printf "1\n" > a
28	printf "0\n" > b
29
30	atf_check -o inline:"x1x0\n" lam -S x a b
31	atf_check -o inline:"1x0\n" lam a -S x b
32	atf_check -o inline:"x10\n" lam -S x a -s '' b
33
34	atf_check -o inline:"x10\n" lam -s x a b
35	atf_check -o inline:"x1y0\n" lam -s x a -s y b
36	atf_check -o inline:"1x0\n" lam a -s x b
37}
38
39atf_test_case stdin
40stdin_head()
41{
42	atf_set "descr" "Test lam(1) using stdin"
43}
44stdin_body()
45{
46	printf '1\n2\n3\n4\n' > a
47
48	atf_check -o inline:"11\n22\n33\n44\n" lam a - < a
49	atf_check -o inline:"11\n22\n33\n44\n" lam - a < a
50
51	atf_check -o inline:"12\n34\n" lam - - < a
52}
53
54atf_init_test_cases()
55{
56	atf_add_test_case basic
57	atf_add_test_case sep
58	atf_add_test_case stdin
59}
60