xref: /aosp_15_r20/external/toybox/tests/cat.test (revision cf5a6c84e2b8763fc1a7db14496fd4742913b199)
1*cf5a6c84SAndroid Build Coastguard Worker#!/bin/bash
2*cf5a6c84SAndroid Build Coastguard Worker
3*cf5a6c84SAndroid Build Coastguard Worker[ -f testing.sh ] && . testing.sh
4*cf5a6c84SAndroid Build Coastguard Worker
5*cf5a6c84SAndroid Build Coastguard Worker#testing "name" "command" "result" "infile" "stdin"
6*cf5a6c84SAndroid Build Coastguard Worker
7*cf5a6c84SAndroid Build Coastguard Workerecho "one" > file1
8*cf5a6c84SAndroid Build Coastguard Workerecho "two" > file2
9*cf5a6c84SAndroid Build Coastguard Workertesting "cat" "cat && echo yes" "oneyes\n" "" "one"
10*cf5a6c84SAndroid Build Coastguard Workertesting "-" "cat - && echo yes" "oneyes\n" "" "one"
11*cf5a6c84SAndroid Build Coastguard Workertesting "file1 file2" "cat file1 file2" "one\ntwo\n"  "" ""
12*cf5a6c84SAndroid Build Coastguard Workertesting "- file"      "cat - file1"     "zero\none\n" "" "zero\n"
13*cf5a6c84SAndroid Build Coastguard Workertesting "file -"      "cat file1 -"     "one\nzero\n" "" "zero\n"
14*cf5a6c84SAndroid Build Coastguard Worker
15*cf5a6c84SAndroid Build Coastguard Workertesting "file1 notfound file2" \
16*cf5a6c84SAndroid Build Coastguard Worker        "cat file1 notfound file2 2>stderr && echo ok ; cat stderr; rm stderr" \
17*cf5a6c84SAndroid Build Coastguard Worker        "one\ntwo\ncat: notfound: No such file or directory\n" "" ""
18*cf5a6c84SAndroid Build Coastguard Worker
19*cf5a6c84SAndroid Build Coastguard Workertesting "binary" \
20*cf5a6c84SAndroid Build Coastguard Worker        'cat "$C" > file1 && cmp "$C" file1 && echo yes' "yes\n" "" ""
21*cf5a6c84SAndroid Build Coastguard Worker
22*cf5a6c84SAndroid Build Coastguard Workertesting "- file1" \
23*cf5a6c84SAndroid Build Coastguard Worker        "cat - file1 | diff -a -U 0 - file1 | tail -n 1" \
24*cf5a6c84SAndroid Build Coastguard Worker        "-hello\n" "" "hello\n"
25*cf5a6c84SAndroid Build Coastguard Worker
26*cf5a6c84SAndroid Build Coastguard Workerskipnot [ -e /dev/full ]
27*cf5a6c84SAndroid Build Coastguard Workertesting "> /dev/full" \
28*cf5a6c84SAndroid Build Coastguard Worker        "cat - > /dev/full 2>/dev/null || echo failed" \
29*cf5a6c84SAndroid Build Coastguard Worker        "failed\n" "" "zero\n"
30*cf5a6c84SAndroid Build Coastguard Worker
31*cf5a6c84SAndroid Build Coastguard Workerrm file1 file2
32