iostreams/test/Jamfile.v2
James E. King III d7f1b82682 Added CI framework
- travis with valgrind, cppcheck, ubsan, codecov, covscan (future)
      - appveyor with MSVC 2010 through 2017, cygwin 32/64, mingw 32/64
      - README, LICENSE, etc.

Additional fixes for cygwin builds to work
2018-07-30 09:14:56 -04:00

176 lines
6.9 KiB
Plaintext

# Boost.Iostreams Library test Jamfile
# (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com)
# (C) Copyright 2004-2007 Jonathan Turkanis
# Distributed under the Boost Software License, Version 1.0. (See accompanying
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt.)
# See http://www.boost.org/libs/iostreams for documentation.
import stlport ;
import modules ;
import ac ;
local NO_BZIP2 = [ modules.peek : NO_BZIP2 ] ;
local NO_ZLIB = [ modules.peek : NO_ZLIB ] ;
local NO_LZMA = [ modules.peek : NO_LZMA ] ;
local NO_ZSTD = [ modules.peek : NO_ZSTD ] ;
local LARGE_FILE_TEMP = [ modules.peek : LARGE_FILE_TEMP ] ;
local LARGE_FILE_KEEP = [ modules.peek : LARGE_FILE_KEEP ] ;
rule test-iostreams ( sources * : requirements * : target-name ? ) {
return [
run
$(sources)
/boost/test//boost_unit_test_framework/<link>static
/boost/filesystem//boost_filesystem/<link>static
: # command
: # input files
: # build requirements
<toolset>msvc:<define>_CRT_SECURE_NO_DEPRECATE
<toolset>msvc:<define>_SCL_SECURE_NO_DEPRECATE
<toolset>cw-9.3,<os>darwin:<runtime-link>static
<define>BOOST_IOSTREAMS_NO_LIB
<link>shared:<define>BOOST_IOSTREAMS_DYN_LINK=1
$(requirements)
: $(target-name)
] ;
}
rule compile-fail-iostreams ( sources * : requirements * : target-name ? ) {
return [
compile-fail
$(sources)
/boost/test//boost_unit_test_framework/<link>static
/boost/filesystem//boost_filesystem/<link>static
: # build requirements
<toolset>msvc:<define>_CRT_SECURE_NO_DEPRECATE
<toolset>msvc:<define>_SCL_SECURE_NO_DEPRECATE
<toolset>cw-9.3,<os>darwin:<runtime-link>static
<define>BOOST_IOSTREAMS_NO_LIB
<link>shared:<define>BOOST_IOSTREAMS_DYN_LINK=1
$(requirements)
: $(target-name)
] ;
}
local all-tests =
[ test-iostreams array_test.cpp ]
[ test-iostreams auto_close_test.cpp ]
[ test-iostreams buffer_size_test.cpp ]
[ test-iostreams close_test.cpp ]
[ test-iostreams
code_converter_test.cpp
detail/utf8_codecvt_facet.cpp ]
[ test-iostreams combine_test.cpp ]
[ test-iostreams compose_test.cpp ]
[ test-iostreams component_access_test.cpp ]
[ test-iostreams copy_test.cpp ]
[ test-iostreams counter_test.cpp ]
[ test-iostreams direct_adapter_test.cpp ]
[ test-iostreams dual_seekable_test.cpp ]
[ test-iostreams example_test.cpp ]
[ test-iostreams execute_test.cpp ]
[ test-iostreams file_test.cpp ]
[ test-iostreams file_descriptor_test.cpp
../build//boost_iostreams ]
[ test-iostreams deprecated_file_descriptor_test.cpp
../build//boost_iostreams
: <define>BOOST_IOSTREAMS_USE_DEPRECATED ]
[ compile-fail-iostreams deprecated_file_descriptor_test.cpp
:
: deprecated_file_descriptor_fail ]
[ test-iostreams filtering_stream_test.cpp ]
[ test-iostreams finite_state_filter_test.cpp ]
[ test-iostreams flush_test.cpp ]
[ test-iostreams
grep_test.cpp
/boost/regex//boost_regex ]
[ test-iostreams invert_test.cpp ]
[ test-iostreams line_filter_test.cpp ]
[ test-iostreams mapped_file_test.cpp
../build//boost_iostreams ]
[ test-iostreams path_test.cpp ]
[ test-iostreams newline_test.cpp ]
[ test-iostreams null_test.cpp ]
[ test-iostreams operation_sequence_test.cpp ]
[ test-iostreams pipeline_test.cpp ]
[ test-iostreams read_nonblocking_test.cpp ]
[ test-iostreams
regex_filter_test.cpp
/boost/regex//boost_regex ]
[ test-iostreams restrict_test.cpp ]
[ test-iostreams seekable_file_test.cpp ]
[ test-iostreams seekable_filter_test.cpp ]
[ test-iostreams sequence_test.cpp ]
[ test-iostreams slice_test.cpp ]
[ test-iostreams stdio_filter_test.cpp ]
[ test-iostreams stream_offset_32bit_test.cpp ]
[ test-iostreams stream_offset_64bit_test.cpp ]
[ test-iostreams stream_state_test.cpp ]
[ test-iostreams symmetric_filter_test.cpp ]
[ test-iostreams tee_test.cpp ]
[ test-iostreams wide_stream_test.cpp ]
[ test-iostreams windows_pipe_test.cpp
../build//boost_iostreams
: <build>no <target-os>windows:<build>yes ]
;
if $(LARGE_FILE_KEEP)
{
all-tests +=
[ test-iostreams
large_file_test.cpp
../src/file_descriptor.cpp
../src/mapped_file.cpp
: <define>LARGE_FILE_KEEP=$(LARGE_FILE_KEEP)
<link>static ] ;
}
if $(LARGE_FILE_TEMP)
{
all-tests +=
[ test-iostreams
large_file_test.cpp
../src/file_descriptor.cpp
../src/mapped_file.cpp
: <define>LARGE_FILE_TEMP=$(LARGE_FILE_TEMP)
<link>static ] ;
}
if ! $(NO_BZIP2)
{
all-tests += [ test-iostreams
bzip2_test.cpp ../build//boost_iostreams :
[ ac.check-library /bzip2//bzip2 : : <build>no ] ] ;
}
if ! $(NO_ZLIB)
{
all-tests +=
[ test-iostreams
write_failure_test.cpp ../build//boost_iostreams :
[ ac.check-library /zlib//zlib : : <build>no ] ]
[ test-iostreams
gzip_test.cpp ../build//boost_iostreams :
[ ac.check-library /zlib//zlib : : <build>no ] ]
[ test-iostreams
zlib_test.cpp ../build//boost_iostreams :
[ ac.check-library /zlib//zlib : : <build>no ] ] ;
}
if ! $(NO_LZMA)
{
using lzma : : <build-name>boost_lzma <tag>@tag : : true ;
all-tests += [ test-iostreams
lzma_test.cpp ../build//boost_iostreams :
[ ac.check-library /lzma//lzma : : <build>no ] ] ;
}
if ! $(NO_ZSTD)
{
using zstd ;
all-tests += [ test-iostreams
zstd_test.cpp ../build//boost_iostreams :
[ ac.check-library /zstd//zstd : : <build>no ] ] ;
}
test-suite "iostreams" : $(all-tests) ;