Merge branch 'master' into 1.0
[libdcp.git] / test / encryption_test.cc
index a4e8688bbf87bd55ccf43a104faf3a2b39595533..d029d4d5c5aeda75d99379d967d0a02d11b60c62 100644 (file)
@@ -64,15 +64,16 @@ BOOST_AUTO_TEST_CASE (encryption_test)
        boost::filesystem::create_directories ("build/test/DCP/bar");
        dcp::DCP d ("build/test/DCP/bar");
 
+       /* Use test/ref/crypt so this test is repeatable */
        dcp::CertificateChain chain;
-       chain.add (shared_ptr<dcp::Certificate> (new dcp::Certificate (boost::filesystem::path ("build/test/signer/ca.self-signed.pem"))));
-       chain.add (shared_ptr<dcp::Certificate> (new dcp::Certificate (boost::filesystem::path ("build/test/signer/intermediate.signed.pem"))));
-       chain.add (shared_ptr<dcp::Certificate> (new dcp::Certificate (boost::filesystem::path ("build/test/signer/leaf.signed.pem"))));
+       chain.add (shared_ptr<dcp::Certificate> (new dcp::Certificate (boost::filesystem::path ("test/ref/crypt/ca.self-signed.pem"))));
+       chain.add (shared_ptr<dcp::Certificate> (new dcp::Certificate (boost::filesystem::path ("test/ref/crypt/intermediate.signed.pem"))));
+       chain.add (shared_ptr<dcp::Certificate> (new dcp::Certificate (boost::filesystem::path ("test/ref/crypt/leaf.signed.pem"))));
 
        shared_ptr<dcp::Signer> signer (
                new dcp::Signer (
                        chain,
-                       "build/test/signer/leaf.key"
+                       "test/ref/crypt/leaf.key"
                        )
                );
 
@@ -81,7 +82,6 @@ BOOST_AUTO_TEST_CASE (encryption_test)
        dcp::Key key;
        
        shared_ptr<dcp::MonoPictureMXF> mp (new dcp::MonoPictureMXF (dcp::Fraction (24, 1)));
-       mp->set_progress (&d.Progress);
        mp->set_metadata (mxf_metadata);
        mp->set_key (key);
 
@@ -111,12 +111,29 @@ BOOST_AUTO_TEST_CASE (encryption_test)
                );
 
        kdm.as_xml ("build/test/bar.kdm.xml");
-       system ("xmllint --path schema --nonet --noout --schema schema/SMPTE-430-1-2006-Amd-1-2009-KDM.xsd build/test/bar.kdm.xml");
-       system ("xmlsec1 verify "
-               "--pubkey-cert-pem build/test/signer/leaf.signed.pem "
-               "--trusted-pem build/test/signer/intermediate.signed.pem "
-               "--trusted-pem build/test/signer/ca.self-signed.pem "
+       
+       int r = system (
+               "xmllint --path schema --nonet --noout --schema schema/SMPTE-430-1-2006-Amd-1-2009-KDM.xsd build/test/bar.kdm.xml "
+               "> build/test/xmllint.log 2>&1 < /dev/null"
+               );
+
+#ifdef DCPOMATIC_POSIX 
+       BOOST_CHECK_EQUAL (WEXITSTATUS (r), 0);
+#else
+       BOOST_CHECK_EQUAL (r, 0);
+#endif 
+               
+       r = system ("xmlsec1 verify "
+               "--pubkey-cert-pem test/ref/crypt/leaf.signed.pem "
+               "--trusted-pem test/ref/crypt/intermediate.signed.pem "
+               "--trusted-pem test/ref/crypt/ca.self-signed.pem "
                "--id-attr:Id http://www.smpte-ra.org/schemas/430-3/2006/ETM:AuthenticatedPublic "
                "--id-attr:Id http://www.smpte-ra.org/schemas/430-3/2006/ETM:AuthenticatedPrivate "
-               "build/test/bar.kdm.xml");
+                   "build/test/bar.kdm.xml > build/test/xmlsec1.log 2>&1 < /dev/null");
+       
+#ifdef DCPOMATIC_POSIX 
+       BOOST_CHECK_EQUAL (WEXITSTATUS (r), 0);
+#else
+       BOOST_CHECK_EQUAL (r, 0);
+#endif 
 }