xref: /aosp_15_r20/external/lz4/tests/test-lz4-sparse.sh (revision 27162e4e17433d5aa7cb38e7b6a433a09405fc7f)
1#!/bin/sh
2
3FPREFIX="tmp-tls"
4
5set -e
6
7remove () {
8    rm $FPREFIX*
9}
10
11trap remove EXIT
12
13set -x
14
15datagen -g5M  -P100 > ${FPREFIX}dg5M
16lz4 -B4D ${FPREFIX}dg5M -c | lz4 -dv --sparse > ${FPREFIX}cB4
17diff -s ${FPREFIX}dg5M ${FPREFIX}cB4
18lz4 -B5D ${FPREFIX}dg5M -c | lz4 -dv --sparse > ${FPREFIX}cB5
19diff -s ${FPREFIX}dg5M ${FPREFIX}cB5
20lz4 -B6D ${FPREFIX}dg5M -c | lz4 -dv --sparse > ${FPREFIX}cB6
21diff -s ${FPREFIX}dg5M ${FPREFIX}cB6
22lz4 -B7D ${FPREFIX}dg5M -c | lz4 -dv --sparse > ${FPREFIX}cB7
23diff -s ${FPREFIX}dg5M ${FPREFIX}cB7
24lz4 ${FPREFIX}dg5M -c | lz4 -dv --no-sparse > ${FPREFIX}nosparse
25diff -s ${FPREFIX}dg5M ${FPREFIX}nosparse
26ls -ls $FPREFIX*
27datagen -s1 -g1200007 -P100 | lz4 | lz4 -dv --sparse > ${FPREFIX}odd   # Odd size file (to generate non-full last block)
28datagen -s1 -g1200007 -P100 | diff -s - ${FPREFIX}odd
29ls -ls ${FPREFIX}odd
30rm $FPREFIX*
31printf "\n Compatibility with Console :"
32echo "Hello World 1 !" | lz4 | lz4 -d -c
33echo "Hello World 2 !" | lz4 | lz4 -d | cat
34echo "Hello World 3 !" | lz4 --no-frame-crc | lz4 -d -c
35printf "\n Compatibility with Append :"
36datagen -P100 -g1M > ${FPREFIX}dg1M
37cat ${FPREFIX}dg1M ${FPREFIX}dg1M > ${FPREFIX}2M
38lz4 -B5 -v ${FPREFIX}dg1M ${FPREFIX}c
39lz4 -d -v ${FPREFIX}c ${FPREFIX}r
40lz4 -d -v ${FPREFIX}c -c >> ${FPREFIX}r
41ls -ls $FPREFIX*
42diff ${FPREFIX}2M ${FPREFIX}r
43