X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Fwscript;h=0642d1b656e3febebc7c369555a6e3154b7e598f;hb=72d9cb462c03b1b41380e50ab9cccf2950207c18;hp=d22875e91ad8852d4e500b08a9e520d82d148f0c;hpb=c2bac22380bea453665a24c6f39200a977771daf;p=libdcp.git diff --git a/test/wscript b/test/wscript index d22875e9..0642d1b6 100644 --- a/test/wscript +++ b/test/wscript @@ -1,41 +1,140 @@ +# +# Copyright (C) 2012-2021 Carl Hetherington +# +# This file is part of libdcp. +# +# libdcp is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# libdcp is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with libdcp. If not, see . +# +# In addition, as a special exception, the copyright holders give +# permission to link the code of portions of this program with the +# OpenSSL library under certain conditions as described in each +# individual source file, and distribute linked combinations +# including the two. +# +# You must obey the GNU General Public License in all respects +# for all of the code used other than OpenSSL. If you modify +# file(s) with this exception, you may extend this exception to your +# version of the file(s), but you are not obligated to do so. If you +# do not wish to do so, delete this exception statement from your +# version. If you delete this exception statement from all source +# files in the program, then also delete it here. +# + def configure(conf): if conf.options.target_windows: boost_lib_suffix = '-mt' else: boost_lib_suffix = '' - conf.check_cxx(fragment = """ - #define BOOST_TEST_MODULE Config test\n - #include \n - int main() {} - """, - msg = 'Checking for boost unit testing library', - lib = 'boost_unit_test_framework%s' % boost_lib_suffix, - uselib_store = 'BOOST_TEST') + conf.check_cxx(fragment=""" + #define BOOST_TEST_MODULE Config test\n + #include \n + int main() {} + """, + msg='Checking for boost unit testing library', + lib='boost_unit_test_framework%s' % boost_lib_suffix, + uselib_store='BOOST_TEST') conf.env.prepend_value('LINKFLAGS', '-Lsrc') def build(bld): - obj = bld(features = 'cxx cxxprogram') + obj = bld(features='cxx cxxprogram') obj.name = 'tests' - obj.uselib = 'BOOST_TEST OPENJPEG XMLSEC1' - obj.use = 'libdcp' - obj.source = 'tests.cc' + obj.uselib = 'BOOST_TEST BOOST_FILESYSTEM BOOST_DATETIME OPENJPEG CXML XMLSEC1 SNDFILE OPENMP ASDCPLIB_CTH LIBXML++ OPENSSL XERCES DL' + obj.cppflags = ['-fno-inline', '-fno-default-inline', '-fno-elide-constructors', '-g', '-O0'] + if bld.is_defined('HAVE_GCOV'): + obj.use = 'libdcp%s_gcov' % bld.env.API_VERSION + obj.lib = ['gcov'] + obj.cppflags.append('-ftest-coverage') + obj.cppflags.append('-fprofile-arcs') + else: + obj.use = 'libdcp%s' % bld.env.API_VERSION + obj.source = """ + asset_test.cc + atmos_test.cc + certificates_test.cc + colour_test.cc + colour_conversion_test.cc + combine_test.cc + cpl_metadata_test.cc + cpl_sar_test.cc + cpl_ratings_test.cc + dcp_font_test.cc + dcp_test.cc + dcp_time_test.cc + decryption_test.cc + effect_test.cc + encryption_test.cc + exception_test.cc + fraction_test.cc + frame_info_hash_test.cc + gamma_transfer_function_test.cc + interop_load_font_test.cc + interop_subtitle_test.cc + local_time_test.cc + make_digest_test.cc + markers_test.cc + mca_test.cc + kdm_test.cc + key_test.cc + language_tag_test.cc + raw_convert_test.cc + read_dcp_test.cc + reel_asset_test.cc + recovery_test.cc + rgb_xyz_test.cc + round_trip_test.cc + smpte_load_font_test.cc + smpte_subtitle_test.cc + sound_frame_test.cc + stream_operators.cc + sync_test.cc + test.cc + util_test.cc + utf8_test.cc + write_subtitle_test.cc + verify_test.cc + """ obj.target = 'tests' obj.install_path = '' - obj = bld(features = 'cxx cxxprogram') + obj = bld(features='cxx cxxprogram') obj.name = 'subs_in_out' - obj.uselib = 'BOOST_TEST OPENJPEG' - obj.use = 'libdcp' + obj.uselib = 'BOOST_TEST BOOST_FILESYSTEM OPENJPEG CXML OPENMP ASDCPLIB_CTH XMLSEC1 OPENSSL DL' + obj.cppflags = ['-fno-inline', '-fno-default-inline', '-fno-elide-constructors', '-g', '-O0'] + if bld.is_defined('HAVE_GCOV'): + obj.use = 'libdcp%s_gcov' % bld.env.API_VERSION + obj.lib = ['gcov'] + obj.cppflags.append('-ftest-coverage') + obj.cppflags.append('-fprofile-arcs') + else: + obj.use = 'libdcp%s' % bld.env.API_VERSION obj.source = 'subs_in_out.cc' obj.target = 'subs_in_out' obj.install_path = '' - obj = bld(features = 'cxx cxxprogram') + obj = bld(features='cxx cxxprogram') obj.name = 'rewrite_subs' - obj.uselib = 'BOOST_TEST OPENJPEG' - obj.use = 'libdcp' + obj.uselib = 'BOOST_TEST BOOST_FILESYSTEM OPENJPEG CXML OPENMP ASDCPLIB_CTH XMLSEC1 OPENSSL DL' + obj.cppflags = ['-fno-inline', '-fno-default-inline', '-fno-elide-constructors', '-g', '-O0'] + if bld.is_defined('HAVE_GCOV'): + obj.use = 'libdcp%s_gcov' % bld.env.API_VERSION + obj.lib = ['gcov'] + obj.cppflags.append('-ftest-coverage') + obj.cppflags.append('-fprofile-arcs') + else: + obj.use = 'libdcp%s' % bld.env.API_VERSION obj.source = 'rewrite_subs.cc' obj.target = 'rewrite_subs' obj.install_path = ''