1#!/bin/sh 2 3FPREFIX="tmp-lml" 4 5set -e 6 7remove () { 8 rm $FPREFIX* 9} 10 11trap remove EXIT 12 13set -x 14 15datagen -s1 > "${FPREFIX}1" 2> $FPREFIX-trash 16datagen -s2 -g100K > "${FPREFIX}2" 2> $FPREFIX-trash 17datagen -s3 -g200K > "${FPREFIX}3" 2> $FPREFIX-trash 18# compress multiple files using legacy format: one .lz4 per source file 19lz4 -f -l -m $FPREFIX* 20test -f ${FPREFIX}1.lz4 21test -f ${FPREFIX}2.lz4 22test -f ${FPREFIX}3.lz4 23# decompress multiple files compressed using legacy format: one output file per .lz4 24mv ${FPREFIX}1 ${FPREFIX}1-orig 25mv ${FPREFIX}2 ${FPREFIX}2-orig 26mv ${FPREFIX}3 ${FPREFIX}3-orig 27lz4 -d -f -m $FPREFIX*.lz4 28lz4 -l -d -f -m $FPREFIX*.lz4 # -l mustn't impact -d option 29cmp ${FPREFIX}1 ${FPREFIX}1-orig # must be identical 30cmp ${FPREFIX}2 ${FPREFIX}2-orig 31cmp ${FPREFIX}3 ${FPREFIX}3-orig 32# compress multiple files into stdout using legacy format 33cat ${FPREFIX}1.lz4 ${FPREFIX}2.lz4 ${FPREFIX}3.lz4 > $FPREFIX-concat1 34rm -f $FPREFIX*.lz4 35lz4 -l -m ${FPREFIX}1 ${FPREFIX}2 ${FPREFIX}3 -c > $FPREFIX-concat2 36test ! -f ${FPREFIX}1.lz4 # must not create .lz4 artefact 37cmp $FPREFIX-concat1 $FPREFIX-concat2 # must be equivalent 38# # # decompress multiple files into stdout using legacy format 39rm $FPREFIX-concat1 $FPREFIX-concat2 40lz4 -l -f -m ${FPREFIX}1 ${FPREFIX}2 ${FPREFIX}3 # generate .lz4 to decompress 41cat ${FPREFIX}1 ${FPREFIX}2 ${FPREFIX}3 > ${FPREFIX}-concat1 # create concatenated reference 42rm ${FPREFIX}1 ${FPREFIX}2 ${FPREFIX}3 43lz4 -d -m ${FPREFIX}1.lz4 ${FPREFIX}2.lz4 ${FPREFIX}3.lz4 -c > $FPREFIX-concat2 44lz4 -d -l -m ${FPREFIX}1.lz4 ${FPREFIX}2.lz4 ${FPREFIX}3.lz4 -c > $FPREFIX-concat2 # -l mustn't impact option -d 45test ! -f ${FPREFIX}1 # must not create file artefact 46cmp $FPREFIX-concat1 $FPREFIX-concat2 # must be equivalent 47# # # compress multiple files, one of which is absent (must fail) 48rm -f $FPREFIX-concat2.lz4 49lz4 -f -l -m $FPREFIX-concat1 notHere-legacy $FPREFIX-concat2 && exit 1 # must fail : notHere-legacy not present 50test -f $FPREFIX-concat2.lz4 # notHere was a non-blocking error, concat2.lz4 should be present 51true 52