xref: /aosp_15_r20/external/toybox/tests/xzcat.test (revision cf5a6c84e2b8763fc1a7db14496fd4742913b199)
1*cf5a6c84SAndroid Build Coastguard Worker#!/bin/bash
2*cf5a6c84SAndroid Build Coastguard Worker
3*cf5a6c84SAndroid Build Coastguard Worker# Copyright 2014 Divya Kothari <[email protected]>
4*cf5a6c84SAndroid Build Coastguard Worker# Copyright 2014 Naha Maggu <[email protected]>
5*cf5a6c84SAndroid Build Coastguard Worker
6*cf5a6c84SAndroid Build Coastguard Worker[ -f testing.sh ] && . testing.sh
7*cf5a6c84SAndroid Build Coastguard Worker
8*cf5a6c84SAndroid Build Coastguard Worker#testing "name" "command" "result" "infile" "stdin"
9*cf5a6c84SAndroid Build Coastguard Workerecho "hello" > file
10*cf5a6c84SAndroid Build Coastguard Workertar -cJf file.xz file
11*cf5a6c84SAndroid Build Coastguard Worker# Get system xzcat
12*cf5a6c84SAndroid Build Coastguard WorkerxzcatExe=`which xzcat`
13*cf5a6c84SAndroid Build Coastguard Worker$xzcatExe file.xz > xzcatOut
14*cf5a6c84SAndroid Build Coastguard Workertestcmd "- decompresses a single file" "file.xz > Tempfile && echo "yes"; diff Tempfile xzcatOut && echo "yes"; rm -rf file* xzcatOut Tempfile" "yes\nyes\n" "" ""
15*cf5a6c84SAndroid Build Coastguard Worker
16*cf5a6c84SAndroid Build Coastguard Worker#testing "name" "command" "result" "infile" "stdin"
17*cf5a6c84SAndroid Build Coastguard Workerecho "hello" > file1
18*cf5a6c84SAndroid Build Coastguard Workerecho "hi" > file2
19*cf5a6c84SAndroid Build Coastguard Workerecho "Hi, Good morning !! I am a xzcat tester" > file3
20*cf5a6c84SAndroid Build Coastguard Workertar -cJf file1.xz file1
21*cf5a6c84SAndroid Build Coastguard Workertar -cJf file2.xz file2
22*cf5a6c84SAndroid Build Coastguard Workertar -cJf file3.xz file3
23*cf5a6c84SAndroid Build Coastguard Worker# Get system xzcat
24*cf5a6c84SAndroid Build Coastguard WorkerxzcatExe=`which xzcat`
25*cf5a6c84SAndroid Build Coastguard Worker$xzcatExe file1.xz file2.xz file3.xz > xzcatOut
26*cf5a6c84SAndroid Build Coastguard Workertestcmd "- decompresses multiple files" "file1.xz file2.xz file3.xz > Tempfile && echo "yes" ; diff Tempfile xzcatOut && echo "yes"; rm -rf file* xzcatOut Tempfile " "yes\nyes\n" "" ""
27*cf5a6c84SAndroid Build Coastguard Workerecho "This is NOT a XZ file!!!" > file
28*cf5a6c84SAndroid Build Coastguard Workertestcmd "bad file" "file 2>&1; rm file" "xzcat: Not a .xz file\n" "" ""
29*cf5a6c84SAndroid Build Coastguard Workerecho "Surely nothing bad will happen to this compressed data!" > file
30*cf5a6c84SAndroid Build Coastguard Workertar -cJf file.xz file
31*cf5a6c84SAndroid Build Coastguard Workertruncate -s 16 file.xz
32*cf5a6c84SAndroid Build Coastguard Workertestcmd "corrupted file" "file.xz 2>&1" "xzcat: File is corrupt\n" "" ""
33