Add basic unit test for the disk writer code.
[dcpomatic.git] / cscript
diff --git a/cscript b/cscript
index 3540edad411fbada0b8a81d833a74effd86f8f17..480b93f1a4188d1f04eb4f07ee19dc0b51baf024 100644 (file)
--- a/cscript
+++ b/cscript
@@ -93,7 +93,6 @@ deb_depends['20.04'].extend(['libboost-filesystem1.71.0',
                              'libpangomm-1.4-1v5',
                              'libxml++2.6-2v5',
                              'libzip5',
-                             'libwxgtk3.0-gtk3-0v5',
                              'libicu66',
                              'libnettle7',
                              'libssh-4',
@@ -112,11 +111,10 @@ deb_depends['20.10'].extend(['libboost-filesystem1.71.0',
                              'libpangomm-1.4-1v5',
                              'libxml++2.6-2v5',
                              'libzip5',
-                             'libwxgtk3.0-gtk3-0v5',
-                             'libicu66',
-                             'libnettle7',
+                             'libicu67',
+                             'libnettle8',
                              'libssh-4',
-                             'libx264-155',
+                             'libx264-160',
                              'libcurl4',
                              'libpulse0',
                              'libxerces-c3.2',
@@ -287,9 +285,6 @@ def make_spec(filename, version, target, options, requires=None):
     print('%{_bindir}/dcpomatic2_playlist', file=f)
     print('%{_bindir}/dcpomatic2_openssl', file=f)
     print('%{_bindir}/dcpomatic2_combiner', file=f)
-    if options['variant'] == 'swaroop-studio':
-        print('%{_bindir}/dcpomatic2_ecinema', file=f)
-        print('%{_bindir}/dcpomatic2_uuid', file=f)
     if os.path.exists(os.path.join(tools, "dcpomatic2_disk")):
         print('%{_bindir}/dcpomatic2_disk', file=f)
         print('%{_bindir}/dcpomatic2_disk_writer', file=f)
@@ -375,8 +370,8 @@ def dependencies(target, options):
             (target.platform == 'osx' and target.bits == 64) or
             (target.platform == 'windows')) else {}
 
-    deps.append(('libdcp', '9d1c856', cpp_lib_options))
-    deps.append(('libsub', '1b52b38', cpp_lib_options))
+    deps.append(('libdcp', '2b522d0', cpp_lib_options))
+    deps.append(('libsub', 'fd87fad', cpp_lib_options))
     deps.append(('leqm-nrt', 'carl'))
     deps.append(('rtaudio', 'carl'))
     # We get our OpenSSL libraries from the environment, but we
@@ -386,6 +381,7 @@ def dependencies(target, options):
     deps.append(('openssl', 'carl'))
     if can_build_disk(target):
         deps.append(('lwext4', '370b3de6'))
+    deps.append(('ffcmp', None))
 
     return deps
 
@@ -394,8 +390,10 @@ option_defaults = { "gui": True, "variant": None }
 def configure_options(target, options):
     opt = ' --warnings-are-errors'
 
-    if not (target.platform == 'linux' and target.distro == 'ubuntu' and target.version == '18.04'):
-        # Currently we only build tests on Ubuntu 18.04
+    if not ((target.platform == 'linux' and target.distro == 'ubuntu' and target.version == '18.04') or
+            (target.platform == 'osx') or
+            (target.platform == 'windows')):
+        # Currently we only build tests on Ubuntu 18.04, macOS and Windows
         opt += ' --disable-tests'
 
     if target.debug:
@@ -736,12 +734,14 @@ def make_manual(target):
     target.command('pdflatex colour.tex')
     return [os.path.abspath('pdf'), os.path.abspath('html'), os.path.abspath('colour.pdf')]
 
-def test(target, test):
-    if target.platform != 'windows':
-        target.set('LC_ALL', 'C')
+def test(target, options, test):
+    target.set('LC_ALL', 'C')
+    if target.platform == 'windows':
+        cmd = 'run\\tests '
+    else:
         cmd = 'run/tests '
-        if target.debug:
-            cmd += '--backtrace '
-        if test is not None:
-            cmd += '--run_test=%s' % test
-        target.command(cmd)
+    if target.debug:
+        cmd += '--backtrace '
+    if test is not None:
+        cmd += '-t %s' % test
+    target.command(cmd)