diff --git a/Changelog b/Changelog index 42e3908..8001d90 100644 --- a/Changelog +++ b/Changelog @@ -1,3 +1,16 @@ +== 1.0.0 Stable Release == +Fix chunk flag setup when compression fails in adaptive mode. +Prevent display of non-fatal errors during compression. +Add buffer overflow check in Ppmd compression routines. +Fix pipe mode encryption check. +Change file difference check in tests. +Fix encryption with adaptive modes. +Add missing zero-out of algorithm data field. +Add a functionality test suite. +Tweak chunking parameters for better block size distribution and dedupe ratio. +Add some more debug mode info. +Minor fix for adapt mode. +Use Libbsc for XML data in adapt2 mode. == 0.9.1 Minor update Release == Portability to Debian based distros. Enable SSE4/AVX detection for AMD platforms (Bulldozer has both). diff --git a/INSTALL b/INSTALL index b46e883..1b6a0fa 100644 --- a/INSTALL +++ b/INSTALL @@ -27,6 +27,21 @@ NOTE: Basic Installation does not enable support for Libbsc, a new block-sorting compressor (similar to but better than Bzip2). See below for details. +Testing +======= + +After running make as given above you can run: +make test + +This will generate some data files from /usr/bin /usr/share and +/usr/include directories and then run a whole lot of tests. These +execute pcompress with a wide variety of combinations of options. +For every test both compression and decompression are performed +and after every decompression the decompressed file is verified +byte for byte with the original using the diff utility. + +It takes a while to run all the tests. + Custom Installation =================== The options to the config script are detailed below. Note that this is diff --git a/pcompress.h b/pcompress.h index 23c931c..33fdaa4 100644 --- a/pcompress.h +++ b/pcompress.h @@ -42,7 +42,7 @@ extern "C" { #define FLAG_DEDUP 1 #define FLAG_DEDUP_FIXED 2 #define FLAG_SINGLE_CHUNK 4 -#define UTILITY_VERSION "0.9.1" +#define UTILITY_VERSION "1.0.0" #define MASK_CRYPTO_ALG 0x30 #define MAX_LEVEL 14 diff --git a/test/t8.tst b/test/t8.tst new file mode 100644 index 0000000..302cf7b --- /dev/null +++ b/test/t8.tst @@ -0,0 +1,47 @@ +# +# Fixed block dedupe +# +echo "#################################################" +echo "# Test Fixed block Deduplication" +echo "#################################################" + +for algo in lzfx lz4 adapt adapt2 +do + for tf in combined.dat comb_d.dat + do + for feat in "-F" "-F -B3 -L" "-F -B4" "-F -B5 -L" + do + for seg in 2m 100m + do + cmd="../../pcompress -c ${algo} -l 3 -s ${seg} $feat ${tf}" + echo "Running $cmd" + eval $cmd + if [ $? -ne 0 ] + then + echo "${cmd} errored." + exit 1 + fi + cmd="../../pcompress -d ${tf}.pz ${tf}.1" + echo "Running $cmd" + eval $cmd + if [ $? -ne 0 ] + then + echo "${cmd} errored." + exit 1 + fi + + diff ${tf} ${tf}.1 > /dev/null + if [ $? -ne 0 ] + then + echo "${cmd}: Decompression was not correct" + exit 1 + fi + rm -f ${tf}.pz ${tf}.1 + done + done + done +done + +echo "#################################################" +echo "" +