| OLD | NEW |
| 1 #!/bin/sh | 1 #!/bin/sh |
| 2 | 2 |
| 3 ############################################################################### | 3 ############################################################################### |
| 4 # | 4 # |
| 5 # Author: Lasse Collin | 5 # Author: Lasse Collin |
| 6 # | 6 # |
| 7 # This file has been put into the public domain. | 7 # This file has been put into the public domain. |
| 8 # You can do whatever you want with this file. | 8 # You can do whatever you want with this file. |
| 9 # | 9 # |
| 10 ############################################################################### | 10 ############################################################################### |
| 11 | 11 |
| 12 # If xz wasn't built, this test is skipped. |
| 13 if test -x ../src/xz/xz ; then |
| 14 : |
| 15 else |
| 16 (exit 77) |
| 17 exit 77 |
| 18 fi |
| 19 |
| 12 # Find out if our shell supports functions. | 20 # Find out if our shell supports functions. |
| 13 eval 'unset foo ; foo() { return 42; } ; foo' | 21 eval 'unset foo ; foo() { return 42; } ; foo' |
| 14 if test $? != 42 ; then | 22 if test $? != 42 ; then |
| 15 echo "/bin/sh doesn't support functions, skipping this test." | 23 echo "/bin/sh doesn't support functions, skipping this test." |
| 16 (exit 77) | 24 (exit 77) |
| 17 exit 77 | 25 exit 77 |
| 18 fi | 26 fi |
| 19 | 27 |
| 20 test_xz() { | 28 test_xz() { |
| 21 if $XZ -c "$@" "$FILE" > tmp_compressed; then | 29 if $XZ -c "$@" "$FILE" > tmp_compressed; then |
| 22 : | 30 : |
| 23 else | 31 else |
| 24 echo "Compressing failed: $* $FILE" | 32 echo "Compressing failed: $* $FILE" |
| 25 (exit 1) | 33 (exit 1) |
| 26 exit 1 | 34 exit 1 |
| 27 fi | 35 fi |
| 28 | 36 |
| 29 if $XZ -cd tmp_compressed > tmp_uncompressed ; then | 37 if $XZ -cd tmp_compressed > tmp_uncompressed ; then |
| 30 : | 38 : |
| 31 else | 39 else |
| 32 » » echo "Decoding failed: $* $FILE" | 40 » » echo "Decompressing failed: $* $FILE" |
| 33 (exit 1) | 41 (exit 1) |
| 34 exit 1 | 42 exit 1 |
| 35 fi | 43 fi |
| 36 | 44 |
| 37 if cmp tmp_uncompressed "$FILE" ; then | 45 if cmp tmp_uncompressed "$FILE" ; then |
| 38 : | 46 : |
| 39 else | 47 else |
| 40 » » echo "Decoded file does not match the original: $* $FILE" | 48 » » echo "Decompressed file does not match" \ |
| 49 » » » » "the original: $* $FILE" |
| 41 (exit 1) | 50 (exit 1) |
| 42 exit 1 | 51 exit 1 |
| 43 fi | 52 fi |
| 44 | 53 |
| 45 » if $XZDEC tmp_compressed > tmp_uncompressed ; then | 54 » if test -n "$XZDEC" ; then |
| 46 » » : | 55 » » if $XZDEC tmp_compressed > tmp_uncompressed ; then |
| 47 » else | 56 » » » : |
| 48 » » echo "Decoding failed: $* $FILE" | 57 » » else |
| 49 » » (exit 1) | 58 » » » echo "Decompressing failed: $* $FILE" |
| 50 » » exit 1 | 59 » » » (exit 1) |
| 51 » fi | 60 » » » exit 1 |
| 61 » » fi |
| 52 | 62 |
| 53 » if cmp tmp_uncompressed "$FILE" ; then | 63 » » if cmp tmp_uncompressed "$FILE" ; then |
| 54 » » : | 64 » » » : |
| 55 » else | 65 » » else |
| 56 » » echo "Decoded file does not match the original: $* $FILE" | 66 » » » echo "Decompressed file does not match" \ |
| 57 » » (exit 1) | 67 » » » » » "the original: $* $FILE" |
| 58 » » exit 1 | 68 » » » (exit 1) |
| 69 » » » exit 1 |
| 70 » » fi |
| 59 fi | 71 fi |
| 60 | 72 |
| 61 # Show progress: | 73 # Show progress: |
| 62 echo . | tr -d '\n\r' | 74 echo . | tr -d '\n\r' |
| 63 } | 75 } |
| 64 | 76 |
| 65 XZ="../src/xz/xz --memory=28MiB --threads=1" | 77 XZ="../src/xz/xz --memlimit-compress=48MiB --memlimit-decompress=5MiB \ |
| 66 XZDEC="../src/xzdec/xzdec --memory=4MiB" | 78 » » --no-adjust --threads=1 --check=crc64" |
| 67 unset XZ_OPT | 79 XZDEC="../src/xzdec/xzdec" # No memory usage limiter available |
| 80 test -x ../src/xzdec/xzdec || XZDEC= |
| 68 | 81 |
| 69 # Create the required input files. | 82 # Create the required input files. |
| 70 if ./create_compress_files ; then | 83 if ./create_compress_files ; then |
| 71 : | 84 : |
| 72 else | 85 else |
| 73 rm -f compress_* | 86 rm -f compress_* |
| 74 echo "Failed to create files to test compression." | 87 echo "Failed to create files to test compression." |
| 75 (exit 1) | 88 (exit 1) |
| 76 exit 1 | 89 exit 1 |
| 77 fi | 90 fi |
| 78 | 91 |
| 79 # Remove temporary now (in case they are something weird), and on exit. | 92 # Remove temporary now (in case they are something weird), and on exit. |
| 80 rm -f tmp_compressed tmp_uncompressed | 93 rm -f tmp_compressed tmp_uncompressed |
| 81 trap 'rm -f tmp_compressed tmp_uncompressed' 0 | 94 trap 'rm -f tmp_compressed tmp_uncompressed' 0 |
| 82 | 95 |
| 83 # Encode and decode each file with various filter configurations. | 96 # Compress and decompress each file with various filter configurations. |
| 84 # This takes quite a bit of time. | 97 # This takes quite a bit of time. |
| 85 echo "test_compress.sh:" | 98 echo "test_compress.sh:" |
| 86 for FILE in compress_generated_* "$srcdir"/compress_prepared_* | 99 for FILE in compress_generated_* "$srcdir"/compress_prepared_* |
| 87 do | 100 do |
| 88 MSG=`echo "x$FILE" | sed 's,^x,,; s,^.*/,,; s,^compress_,,'` | 101 MSG=`echo "x$FILE" | sed 's,^x,,; s,^.*/,,; s,^compress_,,'` |
| 89 echo " $MSG" | tr -d '\n\r' | 102 echo " $MSG" | tr -d '\n\r' |
| 90 | 103 |
| 91 # Don't test with empty arguments; it breaks some ancient | 104 # Don't test with empty arguments; it breaks some ancient |
| 92 # proprietary /bin/sh versions due to $@ used in test_xz(). | 105 # proprietary /bin/sh versions due to $@ used in test_xz(). |
| 93 test_xz -1 | 106 test_xz -1 |
| (...skipping 26 matching lines...) Expand all Loading... |
| 120 | 133 |
| 121 # Disabled until Subblock format is stable. | 134 # Disabled until Subblock format is stable. |
| 122 # test_xz --subblock $ARGS --lzma2=dict=64KiB,nice=32,mode=fast | 135 # test_xz --subblock $ARGS --lzma2=dict=64KiB,nice=32,mode=fast |
| 123 done | 136 done |
| 124 | 137 |
| 125 echo | 138 echo |
| 126 done | 139 done |
| 127 | 140 |
| 128 (exit 0) | 141 (exit 0) |
| 129 exit 0 | 142 exit 0 |
| OLD | NEW |