Fix crashes when using templates in some cases (#2491).
[dcpomatic.git] / test / wscript
index 0e777c803ddb3e0c83de588bcbfd91b106ad6adc..dc108acb6bb72912ba69a330902719ed20ca950e 100644 (file)
 
 def configure(conf):
     boost_test_suffix=''
-    if conf.env.TARGET_WINDOWS:
-        boost_test_suffix='-mt'
+    if conf.env.TARGET_WINDOWS_64:
+        boost_test_suffix='-mt-x64'
+    elif conf.env.TARGET_WINDOWS_32:
+        boost_test_suffix='-mt-x32'
 
     conf.check_cfg(package='sndfile', args='--cflags --libs', uselib_store='SNDFILE', mandatory=True)
 
     conf.check_cxx(fragment="""
                             #define BOOST_TEST_MODULE Config test\n
-                           #include <boost/test/unit_test.hpp>\n
+                            #include <boost/test/unit_test.hpp>\n
                             int main() {}
                             """, msg = 'Checking for boost unit testing library', lib = 'boost_unit_test_framework%s' % boost_test_suffix, uselib_store = 'BOOST_TEST')
 
-    conf.check_cfg(package='ImageMagick++', args='--cflags --libs', uselib_store='MAGICK', mandatory=True)
-
 def build(bld):
     obj = bld(features='cxx cxxprogram')
     obj.name   = 'unit-tests'
     obj.uselib =  'BOOST_TEST BOOST_THREAD BOOST_FILESYSTEM BOOST_DATETIME SNDFILE SAMPLERATE DCP FONTCONFIG CAIROMM PANGOMM XMLPP '
-    obj.uselib += 'AVFORMAT AVFILTER AVCODEC AVUTIL SWSCALE SWRESAMPLE POSTPROC CXML SUB GLIB CURL SSH XMLSEC BOOST_REGEX ICU NETTLE MAGICK PNG '
-    if bld.env.TARGET_WINDOWS:
+    obj.uselib += 'AVFORMAT AVFILTER AVCODEC AVUTIL SWSCALE SWRESAMPLE POSTPROC CXML SUB GLIB CURL SSH XMLSEC BOOST_REGEX ICU NETTLE PNG JPEG '
+    obj.uselib += 'LEQM_NRT ZIP '
+    if bld.env.TARGET_WINDOWS_64 or bld.env.TARGET_WINDOWS_32:
         obj.uselib += 'WINSOCK2 DBGHELP SHLWAPI MSWSOCK BOOST_LOCALE '
+    if bld.env.TARGET_LINUX:
+        obj.uselib += 'DL '
     obj.use    = 'libdcpomatic2'
     obj.source = """
                  4k_test.cc
+                 atmos_test.cc
                  audio_analysis_test.cc
                  audio_buffers_test.cc
+                 audio_content_test.cc
                  audio_delay_test.cc
                  audio_filter_test.cc
                  audio_mapping_test.cc
@@ -52,48 +57,69 @@ def build(bld):
                  audio_processor_delay_test.cc
                  audio_ring_buffers_test.cc
                  butler_test.cc
+                 bv20_test.cc
                  cinema_sound_processor_test.cc
                  client_server_test.cc
                  closed_caption_test.cc
+                 collator_test.cc
                  colour_conversion_test.cc
                  config_test.cc
                  content_test.cc
+                 cpl_hash_test.cc
                  create_cli_test.cc
                  crypto_test.cc
                  dcpomatic_time_test.cc
                  dcp_decoder_test.cc
+                 dcp_digest_file_test.cc
+                 dcp_metadata_test.cc
                  dcp_playback_test.cc
                  dcp_subtitle_test.cc
                  digest_test.cc
-                 ecinema_kdm_test.cc
+                 empty_caption_test.cc
                  empty_test.cc
+                 encryption_test.cc
+                 file_extension_test.cc
                  ffmpeg_audio_only_test.cc
                  ffmpeg_audio_test.cc
                  ffmpeg_dcp_test.cc
+                 ffmpeg_decoder_error_test.cc
                  ffmpeg_decoder_seek_test.cc
                  ffmpeg_decoder_sequential_test.cc
                  ffmpeg_encoder_test.cc
                  ffmpeg_examiner_test.cc
+                 ffmpeg_properties_test.cc
                  ffmpeg_pts_offset_test.cc
                  file_group_test.cc
                  file_log_test.cc
                  file_naming_test.cc
                  film_metadata_test.cc
+                 find_missing_test.cc
                  frame_interval_checker_test.cc
                  frame_rate_test.cc
+                 guess_crop_test.cc
+                 hints_test.cc
                  image_content_fade_test.cc
                  image_filename_sorter_test.cc
                  image_test.cc
+                 image_proxy_test.cc
                  import_dcp_test.cc
                  interrupt_encoder_test.cc
                  isdcf_name_test.cc
                  j2k_bandwidth_test.cc
-                 job_test.cc
-                 make_black_test.cc
+                 job_manager_test.cc
+                 kdm_cli_test.cc
+                 kdm_naming_test.cc
+                 kdm_util_test.cc
+                 low_bitrate_test.cc
+                 markers_test.cc
+                 no_use_video_test.cc
                  optimise_stills_test.cc
+                 overlap_video_test.cc
                  pixel_formats_test.cc
                  player_test.cc
+                 pulldown_detect_test.cc
                  ratio_test.cc
+                 release_notes_test.cc
                  repeat_frame_test.cc
                  recover_test.cc
                  rect_test.cc
@@ -104,17 +130,28 @@ def build(bld):
                  remake_with_subtitle_test.cc
                  render_subtitles_test.cc
                  scaling_test.cc
+                 scope_guard_test.cc
+                 scoped_temporary_test.cc
                  silence_padding_test.cc
                  shuffler_test.cc
                  skip_frame_test.cc
+                 socket_test.cc
                  srt_subtitle_test.cc
                  ssa_subtitle_test.cc
                  stream_test.cc
                  subtitle_charset_test.cc
+                 subtitle_font_id_test.cc
+                 subtitle_font_id_change_test.cc
+                 subtitle_language_test.cc
+                 subtitle_metadata_test.cc
+                 subtitle_position_test.cc
                  subtitle_reel_test.cc
                  subtitle_reel_number_test.cc
+                 subtitle_timing_test.cc
                  subtitle_trim_test.cc
+                 template_test.cc
                  test.cc
+                 text_decoder_test.cc
                  threed_test.cc
                  time_calculation_test.cc
                  torture_test.cc
@@ -123,10 +160,17 @@ def build(bld):
                  util_test.cc
                  vf_test.cc
                  video_content_scale_test.cc
+                 video_level_test.cc
                  video_mxf_content_test.cc
                  vf_kdm_test.cc
+                 writer_test.cc
+                 zipper_test.cc
                  """
 
+    if bld.env.TARGET_LINUX and bld.env.ENABLE_DISK:
+        obj.source += " disk_writer_test.cc"
+        obj.uselib += "LWEXT4 NANOMSG "
+
     # Some difference in font rendering between the test machine and others...
     # burnt_subtitle_test.cc
     # This one doesn't check anything