xref: /aosp_15_r20/external/toybox/tests/zcat.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 -n "hi " | gzip > 1.gz
8*cf5a6c84SAndroid Build Coastguard Workerecho "there" | gzip > 2.gz
9*cf5a6c84SAndroid Build Coastguard Worker
10*cf5a6c84SAndroid Build Coastguard Worker# zcat is basically just gzip -dc
11*cf5a6c84SAndroid Build Coastguard Workertestcmd "files" "1.gz 2.gz && test -f 1.gz && test -f 2.gz" "hi there\n" "" ""
12*cf5a6c84SAndroid Build Coastguard Worker# zcat -c is allowed but changes nothing
13*cf5a6c84SAndroid Build Coastguard Workertestcmd "-c" "-c 1.gz 2.gz && test -f 1.gz && test -f 2.gz" "hi there\n" "" ""
14*cf5a6c84SAndroid Build Coastguard Workertesting "concatenated" "{ cat 1.gz 2.gz; } | zcat" "hi there\n" "" ""
15*cf5a6c84SAndroid Build Coastguard Workertesting "error" "head -c 10 2.gz | { zcat 2>/dev/null || echo fail; }" "fail\n"\
16*cf5a6c84SAndroid Build Coastguard Worker  "" ""
17*cf5a6c84SAndroid Build Coastguard Worker
18*cf5a6c84SAndroid Build Coastguard Worker# TODO: how to test "zcat -f"?
19*cf5a6c84SAndroid Build Coastguard Worker
20*cf5a6c84SAndroid Build Coastguard Workerrm -f 1 2 1.gz 2.gz
21