compression tests

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4862 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
kichik 2007-01-23 16:05:03 +00:00
parent 9cb54c2272
commit ce18bd8cb8
5 changed files with 358 additions and 1 deletions

View file

@ -1,6 +1,8 @@
target = 'test'
tests = Split("""
compression.cpp
decompress.cpp
DialogTemplate.cpp
endian.cpp
mmap.cpp
@ -18,6 +20,52 @@ required = Split("""
util.cpp
""")
required_exehead = Split("""
Tests/memcpy.c
""")
lzma_files = Split("""
clzma.cpp
7zip/7zGuids.cpp
7zip/7zip/Common/OutBuffer.cpp
7zip/7zip/Common/StreamUtils.cpp
7zip/7zip/Compress/LZ/LZInWindow.cpp
7zip/7zip/Compress/LZMA/LZMAEncoder.cpp
7zip/7zip/Compress/RangeCoder/RangeCoderBit.cpp
7zip/Common/Alloc.cpp
7zip/Common/CRC.cpp
7zip/LZMADecode.c
""")
required += lzma_files
bzip2_files = Split("""
bzip2/blocksort.c
bzip2/bzlib.c
bzip2/compress.c
bzip2/huffman.c
""")
bzip2_exehead_files = Split("""
bzip2/bzlib.c
bzip2/decompress.c
""")
required += bzip2_files
required_exehead += bzip2_exehead_files
zlib_files = Split("""
zlib/deflate.c
zlib/trees.c
""")
zlib_exehead_files = Split("""
zlib/INFBLOCK.C
""")
required += zlib_files
required_exehead += zlib_exehead_files
cppunitlibs = Split("""
cppunit
""")
@ -48,6 +96,9 @@ if 'msvc' in env['TOOLS'] or 'mstoolkit' in env['TOOLS']:
# uses exceptions
env.Append(CCFLAGS = ['$EXCEPTION_FLAG'])
# for lzma
env.Append(CPPDEFINES = ['COMPRESS_MF_BT'])
# test for CppUnit
conf = env.Configure()
cppunit = conf.CheckLibWithHeader(cppunitlibs, 'cppunit/extensions/HelperMacros.h', 'C++')
@ -59,12 +110,28 @@ if cppunit:
required_obj = []
for i in required:
b = 'required/%s' % i[:-4]
b = 'required/%s' % i.split('.')[0]
s = '#Source/%s' % i
o = env.Object(b, s)
required_obj.append(o)
# exehead files special treatment
exehead_env = env.Clone()
exehead_env.Append(
CPPDEFINES = [
'EXEHEAD',
'NSIS_COMPRESS_USE_ZLIB' # just so config.h won't complain
]
)
for i in required_exehead:
b = 'required/exehead/%s' % i.split('.')[0]
s = '#Source/%s' % i
o = exehead_env.Object(b, s)
required_obj.append(o)
# build test program
tests = env.Program(target, tests + required_obj)