Add make_digest test (for profiling really).
[libdcp.git] / test / wscript
1 #
2 #    Copyright (C) 2012-2016 Carl Hetherington <cth@carlh.net>
3 #
4 #    This program is free software; you can redistribute it and/or modify
5 #    it under the terms of the GNU General Public License as published by
6 #    the Free Software Foundation; either version 2 of the License, or
7 #    (at your option) any later version.
8 #
9 #    This program is distributed in the hope that it will be useful,
10 #    but WITHOUT ANY WARRANTY; without even the implied warranty of
11 #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 #    GNU General Public License for more details.
13 #
14 #    You should have received a copy of the GNU General Public License
15 #    along with this program; if not, write to the Free Software
16 #    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17 #
18
19 def configure(conf):
20     if conf.options.target_windows:
21         boost_lib_suffix = '-mt'
22     else:
23         boost_lib_suffix = ''
24
25     conf.check_cxx(fragment="""
26                             #define BOOST_TEST_MODULE Config test\n
27                             #include <boost/test/unit_test.hpp>\n
28                             int main() {}
29                             """,
30                    msg='Checking for boost unit testing library',
31                    lib='boost_unit_test_framework%s' % boost_lib_suffix,
32                    uselib_store='BOOST_TEST')
33
34     conf.env.prepend_value('LINKFLAGS', '-Lsrc')
35
36 def build(bld):
37     obj = bld(features='cxx cxxprogram')
38     obj.name   = 'tests'
39     obj.uselib = 'BOOST_TEST BOOST_FILESYSTEM BOOST_DATETIME OPENJPEG CXML XMLSEC1 SNDFILE OPENMP ASDCPLIB_CTH LIBXML++ OPENSSL'
40     obj.cppflags = ['-fno-inline', '-fno-default-inline', '-fno-elide-constructors', '-g', '-O0']
41     if bld.is_defined('HAVE_GCOV'):
42         obj.use = 'libdcp%s_gcov' % bld.env.API_VERSION
43         obj.lib = ['gcov']
44         obj.cppflags.append('-ftest-coverage')
45         obj.cppflags.append('-fprofile-arcs')
46     else:
47         obj.use = 'libdcp%s' % bld.env.API_VERSION
48     obj.source = """
49                  asset_test.cc
50                  certificates_test.cc
51                  colour_test.cc
52                  colour_conversion_test.cc
53                  cpl_sar_test.cc
54                  dcp_font_test.cc
55                  dcp_test.cc
56                  dcp_time_test.cc
57                  decryption_test.cc
58                  effect_test.cc
59                  encryption_test.cc
60                  exception_test.cc
61                  fraction_test.cc
62                  gamma_transfer_function_test.cc
63                  interop_load_font_test.cc
64                  local_time_test.cc
65                  make_digest_test.cc
66                  kdm_test.cc
67                  read_dcp_test.cc
68                  read_interop_subtitle_test.cc
69                  read_smpte_subtitle_test.cc
70                  reel_asset_test.cc
71                  recovery_test.cc
72                  rgb_xyz_test.cc
73                  round_trip_test.cc
74                  smpte_load_font_test.cc
75                  sound_frame_test.cc
76                  test.cc
77                  text_test.cc
78                  util_test.cc
79                  write_subtitle_test.cc
80                  """
81     obj.target = 'tests'
82     obj.install_path = ''
83
84     obj = bld(features='cxx cxxprogram')
85     obj.name   = 'subs_in_out'
86     obj.uselib = 'BOOST_TEST BOOST_FILESYSTEM OPENJPEG CXML OPENMP ASDCPLIB_CTH XMLSEC1 OPENSSL'
87     obj.cppflags = ['-fno-inline', '-fno-default-inline', '-fno-elide-constructors', '-g', '-O0']
88     if bld.is_defined('HAVE_GCOV'):
89         obj.use = 'libdcp%s_gcov' % bld.env.API_VERSION
90         obj.lib = ['gcov']
91         obj.cppflags.append('-ftest-coverage')
92         obj.cppflags.append('-fprofile-arcs')
93     else:
94         obj.use = 'libdcp%s' % bld.env.API_VERSION
95     obj.source = 'subs_in_out.cc'
96     obj.target = 'subs_in_out'
97     obj.install_path = ''
98
99     obj = bld(features='cxx cxxprogram')
100     obj.name   = 'rewrite_subs'
101     obj.uselib = 'BOOST_TEST BOOST_FILESYSTEM OPENJPEG CXML OPENMP ASDCPLIB_CTH XMLSEC1 OPENSSL'
102     obj.cppflags = ['-fno-inline', '-fno-default-inline', '-fno-elide-constructors', '-g', '-O0']
103     if bld.is_defined('HAVE_GCOV'):
104         obj.use = 'libdcp%s_gcov' % bld.env.API_VERSION
105         obj.lib = ['gcov']
106         obj.cppflags.append('-ftest-coverage')
107         obj.cppflags.append('-fprofile-arcs')
108     else:
109         obj.use = 'libdcp%s' % bld.env.API_VERSION
110     obj.source = 'rewrite_subs.cc'
111     obj.target = 'rewrite_subs'
112     obj.install_path = ''
113
114     obj = bld(features='cxx cxxprogram')
115     obj.name   = 'bench'
116     obj.uselib = 'BOOST_FILESYSTEM OPENJPEG CXML OPENMP ASDCPLIB_CTH XMLSEC1 OPENSSL LIBXML++'
117     obj.use = 'libdcp%s' % bld.env.API_VERSION
118     obj.source = 'bench.cc'
119     obj.target = 'bench'
120     obj.install_path = ''