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