xref: /aosp_15_r20/external/lz4/tests/test-lz4-testmode.sh (revision 27162e4e17433d5aa7cb38e7b6a433a09405fc7f)
1*27162e4eSAndroid Build Coastguard Worker#!/bin/sh
2*27162e4eSAndroid Build Coastguard Worker
3*27162e4eSAndroid Build Coastguard WorkerFPREFIX="tmp-ltm"
4*27162e4eSAndroid Build Coastguard Worker
5*27162e4eSAndroid Build Coastguard Workerset -e
6*27162e4eSAndroid Build Coastguard Worker
7*27162e4eSAndroid Build Coastguard Workerremove () {
8*27162e4eSAndroid Build Coastguard Worker    rm $FPREFIX*
9*27162e4eSAndroid Build Coastguard Worker}
10*27162e4eSAndroid Build Coastguard Worker
11*27162e4eSAndroid Build Coastguard Workertrap remove EXIT
12*27162e4eSAndroid Build Coastguard Worker
13*27162e4eSAndroid Build Coastguard Workerset -x
14*27162e4eSAndroid Build Coastguard Worker
15*27162e4eSAndroid Build Coastguard Workerlz4 -bi0
16*27162e4eSAndroid Build Coastguard Workerdatagen > $FPREFIX
17*27162e4eSAndroid Build Coastguard Workerlz4 -f $FPREFIX -c > $FPREFIX.lz4
18*27162e4eSAndroid Build Coastguard Workerlz4 -bdi0 $FPREFIX.lz4 # test benchmark decode-only mode
19*27162e4eSAndroid Build Coastguard Workerlz4 -bdi0 --no-crc $FPREFIX.lz4 # test benchmark decode-only mode
20*27162e4eSAndroid Build Coastguard Workerecho "---- test mode ----"
21*27162e4eSAndroid Build Coastguard Workerdatagen | lz4 -t && exit 1
22*27162e4eSAndroid Build Coastguard Workerdatagen | lz4 -tf && exit 1
23*27162e4eSAndroid Build Coastguard Workerecho "---- pass-through mode ----"
24*27162e4eSAndroid Build Coastguard Workerecho "Why hello there " > ${FPREFIX}2.lz4
25*27162e4eSAndroid Build Coastguard Workerlz4 -f ${FPREFIX}2.lz4 > $FPREFIX-trash && exit 1
26*27162e4eSAndroid Build Coastguard Workerdatagen | lz4 -dc  > $FPREFIX-trash && exit 1
27*27162e4eSAndroid Build Coastguard Workerdatagen | lz4 -df > $FPREFIX-trash && exit 1
28*27162e4eSAndroid Build Coastguard Workerdatagen | lz4 -dcf > $FPREFIX-trash
29*27162e4eSAndroid Build Coastguard Workerecho "Hello World !" > ${FPREFIX}1
30*27162e4eSAndroid Build Coastguard Workerlz4 -dcf ${FPREFIX}1
31*27162e4eSAndroid Build Coastguard Workerecho "from underground..." > ${FPREFIX}2
32*27162e4eSAndroid Build Coastguard Workerlz4 -dcfm ${FPREFIX}1 ${FPREFIX}2
33*27162e4eSAndroid Build Coastguard Workerecho "---- non-existing source (must fail cleanly) ----"
34*27162e4eSAndroid Build Coastguard Workerlz4     file-does-not-exist && exit 1
35*27162e4eSAndroid Build Coastguard Workerlz4 -f  file-does-not-exist && exit 1
36*27162e4eSAndroid Build Coastguard Workerlz4 -t  file-does-not-exist && exit 1
37*27162e4eSAndroid Build Coastguard Workerlz4 -fm file1-dne file2-dne && exit 1
38*27162e4eSAndroid Build Coastguard Workertrue
39