Psyop / Cryptomatte

Cryptomatte Nuke plugin, Fusion plugin, sample images, and specification
BSD 3-Clause "New" or "Revised" License
640 stars 151 forks source link

Issues in Nuke 11.1v3 on macOS 10.12.6 #76

Closed jzgdev closed 6 years ago

jzgdev commented 6 years ago

Here is the output of testing:

# Result: test_csv_round_trip (cryptomatte_utilities_tests.CSVParsing) ... ok
test_mm3hash_float (cryptomatte_utilities_tests.CryptoHashing) ... ok
test_big_csv_through_gizmo (cryptomatte_utilities_tests.CSVParsingNuke) ... ok
test_csv_through_gizmo (cryptomatte_utilities_tests.CSVParsingNuke) ... ok
test_bug_still_exists (cryptomatte_utilities_tests.CryptomatteNodePasting)
Tests this bug still exists. We don't want to be running the fix if we don't have to. ... ok
test_paste_with_channelmerge (cryptomatte_utilities_tests.CryptomatteNodePasting)
Tests this bug has been fixed. ... ok
test_clear_button (cryptomatte_utilities_tests.CryptomatteNukeTests) ... FAIL
test_crypto_channel_knobs_type (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok
test_decrypto_basic (cryptomatte_utilities_tests.CryptomatteNukeTests)
Tests both basic decryptomatte, as well as ensuring _scansample() is ... FAIL
test_decrypto_custom_channel (cryptomatte_utilities_tests.CryptomatteNukeTests) ... FAIL
test_decrypto_matteonly_unpremul (cryptomatte_utilities_tests.CryptomatteNukeTests) ... FAIL
test_decrypto_rmchannels (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok
test_encrypt_bogus_inputs (cryptomatte_utilities_tests.CryptomatteNukeTests)
Tests that when setting up layers, entering the name before pressing "setup layers" ... ok
test_encrypt_bogus_manifest (cryptomatte_utilities_tests.CryptomatteNukeTests) ... FAIL
test_encrypt_channel_knobs_type (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok
test_encrypt_fresh_roundtrip (cryptomatte_utilities_tests.CryptomatteNukeTests) ... FAIL
test_encrypt_layer_forced_update_btn (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ERROR
test_encrypt_layer_lock (cryptomatte_utilities_tests.CryptomatteNukeTests) ... FAIL
test_encrypt_layerselection (cryptomatte_utilities_tests.CryptomatteNukeTests) ... FAIL
test_encrypt_manifest (cryptomatte_utilities_tests.CryptomatteNukeTests)
Gets it into a weird state where it has a manifest but no cryptomatte. ... ok
test_encrypt_matte_name_autofill2 (cryptomatte_utilities_tests.CryptomatteNukeTests) ... FAIL
test_encrypt_merge_operations (cryptomatte_utilities_tests.CryptomatteNukeTests) ... skipped 'Auto failed this test to stop it wrecking the rest of the tests'
test_encrypt_roundtrip (cryptomatte_utilities_tests.CryptomatteNukeTests) ... FAIL
test_encrypt_roundtrip_without_prefix (cryptomatte_utilities_tests.CryptomatteNukeTests) ... FAIL
test_encrypt_setup_layers_numbers (cryptomatte_utilities_tests.CryptomatteNukeTests)
Tests that when setting up layers, entering the name before pressing "setup layers" ... FAIL
test_keying_blank_matteList (cryptomatte_utilities_tests.CryptomatteNukeTests) ... FAIL
test_keying_clear (cryptomatte_utilities_tests.CryptomatteNukeTests) ... FAIL
test_keying_manual (cryptomatte_utilities_tests.CryptomatteNukeTests) ... FAIL
test_keying_multiselect (cryptomatte_utilities_tests.CryptomatteNukeTests) ... FAIL
test_keying_nothing (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok
test_keying_partial_black (cryptomatte_utilities_tests.CryptomatteNukeTests) ... FAIL
test_keying_single_selection (cryptomatte_utilities_tests.CryptomatteNukeTests) ... FAIL
test_keying_stop_auto_update (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok
test_keying_with_removechannels (cryptomatte_utilities_tests.CryptomatteNukeTests) ... FAIL
test_keying_without_prefix (cryptomatte_utilities_tests.CryptomatteNukeTests) ... FAIL
test_keying_without_preview_channels (cryptomatte_utilities_tests.CryptomatteNukeTests) ... FAIL
test_layer_bogus_manifest (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok
test_layer_forced_update_btn (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ERROR
test_layer_forced_update_func (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ERROR
test_layer_lock (cryptomatte_utilities_tests.CryptomatteNukeTests) ... FAIL
test_layer_selection (cryptomatte_utilities_tests.CryptomatteNukeTests) ... FAIL
test_manifests (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok
test_matte_list_name_modifications (cryptomatte_utilities_tests.CryptomatteNukeTests) ... FAIL
test_matte_list_numeric (cryptomatte_utilities_tests.CryptomatteNukeTests) ... FAIL
test_output_preview (cryptomatte_utilities_tests.CryptomatteNukeTests) ... FAIL
test_output_preview_disabled (cryptomatte_utilities_tests.CryptomatteNukeTests) ... FAIL
test_output_preview_multi (cryptomatte_utilities_tests.CryptomatteNukeTests) ... FAIL

======================================================================
ERROR: test_encrypt_layer_forced_update_btn (cryptomatte_utilities_tests.CryptomatteNukeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 927, in test_encrypt_layer_forced_update_btn
    self.test_layer_forced_update_btn(encryptomatte)
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 517, in test_layer_forced_update_btn
    self._setup_test_layer_forced_update_func(gizmo)
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 513, in _setup_test_layer_forced_update_func
    gizmo.knob("cryptoLayer").value())
RuntimeError: Upstream changes now trigger updates, test is invalid  

======================================================================
ERROR: test_layer_forced_update_btn (cryptomatte_utilities_tests.CryptomatteNukeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 517, in test_layer_forced_update_btn
    self._setup_test_layer_forced_update_func(gizmo)
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 513, in _setup_test_layer_forced_update_func
    gizmo.knob("cryptoLayer").value())
RuntimeError: Upstream changes now trigger updates, test is invalid  

======================================================================
ERROR: test_layer_forced_update_func (cryptomatte_utilities_tests.CryptomatteNukeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 527, in test_layer_forced_update_func
    self._setup_test_layer_forced_update_func(gizmo)
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 513, in _setup_test_layer_forced_update_func
    gizmo.knob("cryptoLayer").value())
RuntimeError: Upstream changes now trigger updates, test is invalid  

======================================================================
FAIL: test_clear_button (cryptomatte_utilities_tests.CryptomatteNukeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 581, in test_clear_button
    self._test_keying_partial_black()
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 546, in _test_keying_partial_black
    self.assertMatteList("heroflower", msg or "Hero flower not selected on partial pixels. ")
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 431, in assertMatteList
    self.assertEqual(ml, value, '%s. ("%s" vs "%s")' % (msg, value, ml))
AssertionError: Hero flower not selected on partial pixels. . ("heroflower" vs "")

======================================================================
FAIL: test_decrypto_basic (cryptomatte_utilities_tests.CryptomatteNukeTests)
Tests both basic decryptomatte, as well as ensuring _scansample() is
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 801, in test_decrypto_basic
    "Wrong hash is same as right hash, scanlines may be broken.")
AssertionError: Wrong hash is same as right hash, scanlines may be broken.

======================================================================
FAIL: test_decrypto_custom_channel (cryptomatte_utilities_tests.CryptomatteNukeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 819, in test_decrypto_custom_channel
    self.assertNotEqual(correct_hash, alpha_hash, "Custom channel is the same as the alpha.")
AssertionError: Custom channel is the same as the alpha.

======================================================================
FAIL: test_decrypto_matteonly_unpremul (cryptomatte_utilities_tests.CryptomatteNukeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 845, in test_decrypto_matteonly_unpremul
    "Unpremult didn't seem to change anything.")
AssertionError: Unpremult didn't seem to change anything.

======================================================================
FAIL: test_encrypt_bogus_manifest (cryptomatte_utilities_tests.CryptomatteNukeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 1050, in test_encrypt_bogus_manifest
    self.triangle_pkr, "Encryptomatte result not keyable after bogus manifest", alpha=1.0)
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 424, in assertSampleEqual
    self._sample_gizmo_assert(pkr, msg, False, **kwargs)
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 421, in _sample_gizmo_assert
    self.assertEqual(sample, value, msg_resolved)
AssertionError: Encryptomatte result not keyable after bogus manifest: (alpha) 0.0 vs 1.0

======================================================================
FAIL: test_encrypt_fresh_roundtrip (cryptomatte_utilities_tests.CryptomatteNukeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 1114, in test_encrypt_fresh_roundtrip
    self.assertMatteList("triangle", "Encryptomatte did not produce a keyable triangle")
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 431, in assertMatteList
    self.assertEqual(ml, value, '%s. ("%s" vs "%s")' % (msg, value, ml))
AssertionError: Encryptomatte did not produce a keyable triangle. ("triangle" vs "")

======================================================================
FAIL: test_encrypt_layer_lock (cryptomatte_utilities_tests.CryptomatteNukeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 923, in test_encrypt_layer_lock
    self.test_layer_lock(encryptomatte)
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 490, in test_layer_lock
    "cryptoLayerLock did not keep things from changing.")
AssertionError: cryptoLayerLock did not keep things from changing.

======================================================================
FAIL: test_encrypt_layerselection (cryptomatte_utilities_tests.CryptomatteNukeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 919, in test_encrypt_layerselection
    self.test_layer_selection(encryptomatte)
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 459, in test_layer_selection
    gizmo.knob("cryptoLayer").value(), "uCryptoAsset", "Layer selection not set.")
AssertionError: Layer selection not set.

======================================================================
FAIL: test_encrypt_matte_name_autofill2 (cryptomatte_utilities_tests.CryptomatteNukeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 937, in test_encrypt_matte_name_autofill2
    self.constant.name(), "Encryptomatte matte name was not set automatically.")
AssertionError: Encryptomatte matte name was not set automatically.

======================================================================
FAIL: test_encrypt_roundtrip (cryptomatte_utilities_tests.CryptomatteNukeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 1007, in test_encrypt_roundtrip
    self.assertEqual(roto_hash, decrypto_hash, ("Alpha did not survive round trip through "
AssertionError: Alpha did not survive round trip through Encryptomatte and then Cryptomatte. 

======================================================================
FAIL: test_encrypt_roundtrip_without_prefix (cryptomatte_utilities_tests.CryptomatteNukeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 1036, in test_encrypt_roundtrip_without_prefix
    raise exception
AssertionError: Alpha did not survive round trip through Encryptomatte and then Cryptomatte. 

======================================================================
FAIL: test_encrypt_setup_layers_numbers (cryptomatte_utilities_tests.CryptomatteNukeTests)
Tests that when setting up layers, entering the name before pressing "setup layers"
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 981, in test_encrypt_setup_layers_numbers
    self.assertTrue("%s.red" % layer in channels, "%s not in channels" % layer)
AssertionError: customCrypto00 not in channels

======================================================================
FAIL: test_keying_blank_matteList (cryptomatte_utilities_tests.CryptomatteNukeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 566, in test_keying_blank_matteList
    self._test_keying_partial_black()
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 546, in _test_keying_partial_black
    self.assertMatteList("heroflower", msg or "Hero flower not selected on partial pixels. ")
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 431, in assertMatteList
    self.assertEqual(ml, value, '%s. ("%s" vs "%s")' % (msg, value, ml))
AssertionError: Hero flower not selected on partial pixels. . ("heroflower" vs "")

======================================================================
FAIL: test_keying_clear (cryptomatte_utilities_tests.CryptomatteNukeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 574, in test_keying_clear
    self._test_keying_partial_black()
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 546, in _test_keying_partial_black
    self.assertMatteList("heroflower", msg or "Hero flower not selected on partial pixels. ")
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 431, in assertMatteList
    self.assertEqual(ml, value, '%s. ("%s" vs "%s")' % (msg, value, ml))
AssertionError: Hero flower not selected on partial pixels. . ("heroflower" vs "")

======================================================================
FAIL: test_keying_manual (cryptomatte_utilities_tests.CryptomatteNukeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 558, in test_keying_manual
    "Expression did not update on setting matte list. ")
AssertionError: Expression did not update on setting matte list. 

======================================================================
FAIL: test_keying_multiselect (cryptomatte_utilities_tests.CryptomatteNukeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 593, in test_keying_multiselect
    self.gizmo.knob("matteList").getValue())
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 431, in assertMatteList
    self.assertEqual(ml, value, '%s. ("%s" vs "%s")' % (msg, value, ml))
AssertionError: Multiselect on edge didn't select only 'heroflower': (). ("heroflower" vs "")

======================================================================
FAIL: test_keying_partial_black (cryptomatte_utilities_tests.CryptomatteNukeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 552, in test_keying_partial_black
    self._test_keying_partial_black()
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 546, in _test_keying_partial_black
    self.assertMatteList("heroflower", msg or "Hero flower not selected on partial pixels. ")
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 431, in assertMatteList
    self.assertEqual(ml, value, '%s. ("%s" vs "%s")' % (msg, value, ml))
AssertionError: Hero flower not selected on partial pixels. . ("heroflower" vs "")

======================================================================
FAIL: test_keying_single_selection (cryptomatte_utilities_tests.CryptomatteNukeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 621, in test_keying_single_selection
    "Single selection seems to have failed: (%s)" % self.gizmo.knob("matteList").getValue())
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 431, in assertMatteList
    self.assertEqual(ml, value, '%s. ("%s" vs "%s")' % (msg, value, ml))
AssertionError: Single selection seems to have failed: (bunny, heroflower, set). ("set" vs "bunny, heroflower, set")

======================================================================
FAIL: test_keying_with_removechannels (cryptomatte_utilities_tests.CryptomatteNukeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 563, in test_keying_with_removechannels
    self.assertMatteList("bunny", "Could not key on image after Remove Channels was enabled.")
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 431, in assertMatteList
    self.assertEqual(ml, value, '%s. ("%s" vs "%s")' % (msg, value, ml))
AssertionError: Could not key on image after Remove Channels was enabled.. ("bunny" vs "")

======================================================================
FAIL: test_keying_without_prefix (cryptomatte_utilities_tests.CryptomatteNukeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 663, in test_keying_without_prefix
    raise exception
AssertionError: Keying failed once read-node prefix was disabled.. ("heroflower" vs "")

======================================================================
FAIL: test_keying_without_preview_channels (cryptomatte_utilities_tests.CryptomatteNukeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 646, in test_keying_without_preview_channels
    self._test_keying_partial_black()
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 546, in _test_keying_partial_black
    self.assertMatteList("heroflower", msg or "Hero flower not selected on partial pixels. ")
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 431, in assertMatteList
    self.assertEqual(ml, value, '%s. ("%s" vs "%s")' % (msg, value, ml))
AssertionError: Hero flower not selected on partial pixels. . ("heroflower" vs "")

======================================================================
FAIL: test_layer_lock (cryptomatte_utilities_tests.CryptomatteNukeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 490, in test_layer_lock
    "cryptoLayerLock did not keep things from changing.")
AssertionError: cryptoLayerLock did not keep things from changing.

======================================================================
FAIL: test_layer_selection (cryptomatte_utilities_tests.CryptomatteNukeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 459, in test_layer_selection
    gizmo.knob("cryptoLayer").value(), "uCryptoAsset", "Layer selection not set.")
AssertionError: Layer selection not set.

======================================================================
FAIL: test_matte_list_name_modifications (cryptomatte_utilities_tests.CryptomatteNukeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 755, in test_matte_list_name_modifications
    self.assertMatteList("", "Could not remove numbers by name.")
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 431, in assertMatteList
    self.assertEqual(ml, value, '%s. ("%s" vs "%s")' % (msg, value, ml))
AssertionError: Could not remove numbers by name.. ("" vs "<3.36000126251e-27>, <7.36562399642e+18>, heroflower")

======================================================================
FAIL: test_matte_list_numeric (cryptomatte_utilities_tests.CryptomatteNukeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 731, in test_matte_list_numeric
    self.assertMatteList(numeric_mlist_bunny, "Numeric mattelist incorrect.")
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 431, in assertMatteList
    self.assertEqual(ml, value, '%s. ("%s" vs "%s")' % (msg, value, ml))
AssertionError: Numeric mattelist incorrect.. ("<3.36000126251e-27>" vs "")

======================================================================
FAIL: test_output_preview (cryptomatte_utilities_tests.CryptomatteNukeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 673, in test_output_preview
    self.bunny_pkr, "Preview image did not light up", red=1.0, green=1.0, alpha=1.0)
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 424, in assertSampleEqual
    self._sample_gizmo_assert(pkr, msg, False, **kwargs)
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 421, in _sample_gizmo_assert
    self.assertEqual(sample, value, msg_resolved)
AssertionError: Preview image did not light up: (alpha) 0.0 vs 1.0

======================================================================
FAIL: test_output_preview_disabled (cryptomatte_utilities_tests.CryptomatteNukeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 686, in test_output_preview_disabled
    alpha=1.0)
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 424, in assertSampleEqual
    self._sample_gizmo_assert(pkr, msg, False, **kwargs)
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 421, in _sample_gizmo_assert
    self.assertEqual(sample, value, msg_resolved)
AssertionError: Preview image bunny pixels wrong when disabled: (alpha) 0.0 vs 1.0

======================================================================
FAIL: test_output_preview_multi (cryptomatte_utilities_tests.CryptomatteNukeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 699, in test_output_preview_multi
    self.bunny_pkr, "Bunny pixels are wrong.", red=1.0, green=1.0, alpha=1.0)
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 424, in assertSampleEqual
    self._sample_gizmo_assert(pkr, msg, False, **kwargs)
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 421, in _sample_gizmo_assert
    self.assertEqual(sample, value, msg_resolved)
AssertionError: Bunny pixels are wrong.: (alpha) 0.0 vs 1.0

----------------------------------------------------------------------
Ran 47 tests in 3.766s

FAILED (failures=28, errors=3, skipped=1)
---------
Failed: CryptomatteNukeTests.test_clear_button

Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 581, in test_clear_button
    self._test_keying_partial_black()
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 546, in _test_keying_partial_black
    self.assertMatteList("heroflower", msg or "Hero flower not selected on partial pixels. ")
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 431, in assertMatteList
    self.assertEqual(ml, value, '%s. ("%s" vs "%s")' % (msg, value, ml))
AssertionError: Hero flower not selected on partial pixels. . ("heroflower" vs "")

---------
Failed: CryptomatteNukeTests.test_decrypto_basic

Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 801, in test_decrypto_basic
    "Wrong hash is same as right hash, scanlines may be broken.")
AssertionError: Wrong hash is same as right hash, scanlines may be broken.

---------
Failed: CryptomatteNukeTests.test_decrypto_custom_channel

Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 819, in test_decrypto_custom_channel
    self.assertNotEqual(correct_hash, alpha_hash, "Custom channel is the same as the alpha.")
AssertionError: Custom channel is the same as the alpha.

---------
Failed: CryptomatteNukeTests.test_decrypto_matteonly_unpremul

Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 845, in test_decrypto_matteonly_unpremul
    "Unpremult didn't seem to change anything.")
AssertionError: Unpremult didn't seem to change anything.

---------
Failed: CryptomatteNukeTests.test_encrypt_bogus_manifest

Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 1050, in test_encrypt_bogus_manifest
    self.triangle_pkr, "Encryptomatte result not keyable after bogus manifest", alpha=1.0)
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 424, in assertSampleEqual
    self._sample_gizmo_assert(pkr, msg, False, **kwargs)
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 421, in _sample_gizmo_assert
    self.assertEqual(sample, value, msg_resolved)
AssertionError: Encryptomatte result not keyable after bogus manifest: (alpha) 0.0 vs 1.0

---------
Failed: CryptomatteNukeTests.test_encrypt_fresh_roundtrip

Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 1114, in test_encrypt_fresh_roundtrip
    self.assertMatteList("triangle", "Encryptomatte did not produce a keyable triangle")
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 431, in assertMatteList
    self.assertEqual(ml, value, '%s. ("%s" vs "%s")' % (msg, value, ml))
AssertionError: Encryptomatte did not produce a keyable triangle. ("triangle" vs "")

---------
Failed: CryptomatteNukeTests.test_encrypt_layer_lock

Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 923, in test_encrypt_layer_lock
    self.test_layer_lock(encryptomatte)
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 490, in test_layer_lock
    "cryptoLayerLock did not keep things from changing.")
AssertionError: cryptoLayerLock did not keep things from changing.

---------
Failed: CryptomatteNukeTests.test_encrypt_layerselection

Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 919, in test_encrypt_layerselection
    self.test_layer_selection(encryptomatte)
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 459, in test_layer_selection
    gizmo.knob("cryptoLayer").value(), "uCryptoAsset", "Layer selection not set.")
AssertionError: Layer selection not set.

---------
Failed: CryptomatteNukeTests.test_encrypt_matte_name_autofill2

Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 937, in test_encrypt_matte_name_autofill2
    self.constant.name(), "Encryptomatte matte name was not set automatically.")
AssertionError: Encryptomatte matte name was not set automatically.

---------
Failed: CryptomatteNukeTests.test_encrypt_roundtrip

Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 1007, in test_encrypt_roundtrip
    self.assertEqual(roto_hash, decrypto_hash, ("Alpha did not survive round trip through "
AssertionError: Alpha did not survive round trip through Encryptomatte and then Cryptomatte. 

---------
Failed: CryptomatteNukeTests.test_encrypt_roundtrip_without_prefix

Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 1036, in test_encrypt_roundtrip_without_prefix
    raise exception
AssertionError: Alpha did not survive round trip through Encryptomatte and then Cryptomatte. 

---------
Failed: CryptomatteNukeTests.test_encrypt_setup_layers_numbers

Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 981, in test_encrypt_setup_layers_numbers
    self.assertTrue("%s.red" % layer in channels, "%s not in channels" % layer)
AssertionError: customCrypto00 not in channels

---------
Failed: CryptomatteNukeTests.test_keying_blank_matte

Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 566, in test_keying_blank_matteList
    self._test_keying_partial_black()
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 546, in _test_keying_partial_black
    self.assertMatteList("heroflower", msg or "Hero flower not selected on partial pixels. ")
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 431, in assertMatteList
    self.assertEqual(ml, value, '%s. ("%s" vs "%s")' % (msg, value, ml))
AssertionError: Hero flower not selected on partial pixels. . ("heroflower" vs "")

---------
Failed: CryptomatteNukeTests.test_keying_clear

Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 574, in test_keying_clear
    self._test_keying_partial_black()
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 546, in _test_keying_partial_black
    self.assertMatteList("heroflower", msg or "Hero flower not selected on partial pixels. ")
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 431, in assertMatteList
    self.assertEqual(ml, value, '%s. ("%s" vs "%s")' % (msg, value, ml))
AssertionError: Hero flower not selected on partial pixels. . ("heroflower" vs "")

---------
Failed: CryptomatteNukeTests.test_keying_manual

Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 558, in test_keying_manual
    "Expression did not update on setting matte list. ")
AssertionError: Expression did not update on setting matte list. 

---------
Failed: CryptomatteNukeTests.test_keying_multiselect

Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 593, in test_keying_multiselect
    self.gizmo.knob("matteList").getValue())
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 431, in assertMatteList
    self.assertEqual(ml, value, '%s. ("%s" vs "%s")' % (msg, value, ml))
AssertionError: Multiselect on edge didn't select only 'heroflower': (). ("heroflower" vs "")

---------
Failed: CryptomatteNukeTests.test_keying_partial_black

Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 552, in test_keying_partial_black
    self._test_keying_partial_black()
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 546, in _test_keying_partial_black
    self.assertMatteList("heroflower", msg or "Hero flower not selected on partial pixels. ")
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 431, in assertMatteList
    self.assertEqual(ml, value, '%s. ("%s" vs "%s")' % (msg, value, ml))
AssertionError: Hero flower not selected on partial pixels. . ("heroflower" vs "")

---------
Failed: CryptomatteNukeTests.test_keying_single_selection

Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 621, in test_keying_single_selection
    "Single selection seems to have failed: (%s)" % self.gizmo.knob("matteList").getValue())
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 431, in assertMatteList
    self.assertEqual(ml, value, '%s. ("%s" vs "%s")' % (msg, value, ml))
AssertionError: Single selection seems to have failed: (bunny, heroflower, set). ("set" vs "bunny, heroflower, set")

---------
Failed: CryptomatteNukeTests.test_keying_with_removechannels

Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 563, in test_keying_with_removechannels
    self.assertMatteList("bunny", "Could not key on image after Remove Channels was enabled.")
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 431, in assertMatteList
    self.assertEqual(ml, value, '%s. ("%s" vs "%s")' % (msg, value, ml))
AssertionError: Could not key on image after Remove Channels was enabled.. ("bunny" vs "")

---------
Failed: CryptomatteNukeTests.test_keying_without_prefix

Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 663, in test_keying_without_prefix
    raise exception
AssertionError: Keying failed once read-node prefix was disabled.. ("heroflower" vs "")

---------
Failed: CryptomatteNukeTests.test_keying_without_preview_channels

Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 646, in test_keying_without_preview_channels
    self._test_keying_partial_black()
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 546, in _test_keying_partial_black
    self.assertMatteList("heroflower", msg or "Hero flower not selected on partial pixels. ")
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 431, in assertMatteList
    self.assertEqual(ml, value, '%s. ("%s" vs "%s")' % (msg, value, ml))
AssertionError: Hero flower not selected on partial pixels. . ("heroflower" vs "")

---------
Failed: CryptomatteNukeTests.test_layer_lock

Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 490, in test_layer_lock
    "cryptoLayerLock did not keep things from changing.")
AssertionError: cryptoLayerLock did not keep things from changing.

---------
Failed: CryptomatteNukeTests.test_layer_selection

Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 459, in test_layer_selection
    gizmo.knob("cryptoLayer").value(), "uCryptoAsset", "Layer selection not set.")
AssertionError: Layer selection not set.

---------
Failed: CryptomatteNukeTests.test_matte_list_name_modifications

Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 755, in test_matte_list_name_modifications
    self.assertMatteList("", "Could not remove numbers by name.")
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 431, in assertMatteList
    self.assertEqual(ml, value, '%s. ("%s" vs "%s")' % (msg, value, ml))
AssertionError: Could not remove numbers by name.. ("" vs "<3.36000126251e-27>, <7.36562399642e+18>, heroflower")

---------
Failed: CryptomatteNukeTests.test_matte_list_numeric

Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 731, in test_matte_list_numeric
    self.assertMatteList(numeric_mlist_bunny, "Numeric mattelist incorrect.")
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 431, in assertMatteList
    self.assertEqual(ml, value, '%s. ("%s" vs "%s")' % (msg, value, ml))
AssertionError: Numeric mattelist incorrect.. ("<3.36000126251e-27>" vs "")

---------
Failed: CryptomatteNukeTests.test_output_preview

Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 673, in test_output_preview
    self.bunny_pkr, "Preview image did not light up", red=1.0, green=1.0, alpha=1.0)
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 424, in assertSampleEqual
    self._sample_gizmo_assert(pkr, msg, False, **kwargs)
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 421, in _sample_gizmo_assert
    self.assertEqual(sample, value, msg_resolved)
AssertionError: Preview image did not light up: (alpha) 0.0 vs 1.0

---------
Failed: CryptomatteNukeTests.test_output_preview_disabled

Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 686, in test_output_preview_disabled
    alpha=1.0)
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 424, in assertSampleEqual
    self._sample_gizmo_assert(pkr, msg, False, **kwargs)
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 421, in _sample_gizmo_assert
    self.assertEqual(sample, value, msg_resolved)
AssertionError: Preview image bunny pixels wrong when disabled: (alpha) 0.0 vs 1.0

---------
Failed: CryptomatteNukeTests.test_output_preview_multi

Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 699, in test_output_preview_multi
    self.bunny_pkr, "Bunny pixels are wrong.", red=1.0, green=1.0, alpha=1.0)
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 424, in assertSampleEqual
    self._sample_gizmo_assert(pkr, msg, False, **kwargs)
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 421, in _sample_gizmo_assert
    self.assertEqual(sample, value, msg_resolved)
AssertionError: Bunny pixels are wrong.: (alpha) 0.0 vs 1.0

---------
Error: CryptomatteNukeTests.test_encrypt_layer_forced_update_btn

Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 927, in test_encrypt_layer_forced_update_btn
    self.test_layer_forced_update_btn(encryptomatte)
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 517, in test_layer_forced_update_btn
    self._setup_test_layer_forced_update_func(gizmo)
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 513, in _setup_test_layer_forced_update_func
    gizmo.knob("cryptoLayer").value())
RuntimeError: Upstream changes now trigger updates, test is invalid  

---------
Error: CryptomatteNukeTests.test_layer_forced_update_btn

Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 517, in test_layer_forced_update_btn
    self._setup_test_layer_forced_update_func(gizmo)
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 513, in _setup_test_layer_forced_update_func
    gizmo.knob("cryptoLayer").value())
RuntimeError: Upstream changes now trigger updates, test is invalid  

---------
Error: CryptomatteNukeTests.test_layer_forced_update_func

Traceback (most recent call last):
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 527, in test_layer_forced_update_func
    self._setup_test_layer_forced_update_func(gizmo)
  File "/Users/UserName/.nuke/cryptomatte_utilities_tests.py", line 513, in _setup_test_layer_forced_update_func
    gizmo.knob("cryptoLayer").value())
RuntimeError: Upstream changes now trigger updates, test is invalid  

---------
TESTING FAILED: 28 failed, 3 errors. (47 test cases.)
jonahfriedman commented 6 years ago

Hi @jzgdev,

Thanks for running the tests. I suspect an issue with your installation. Can you try the resolution in ticket #56, specifically adding the following to your "init.py" file? You can also run that code in your Nuke script editor to test whether that fixes it before going and editing the file.

import cryptomatte_utilities
cryptomatte_utilities.setup_cryptomatte()
jzgdev commented 6 years ago

Still a few errors but looking much better/working overall:

Here's the output in case you're interested.

import os 
import cryptomatte_utilities
os.environ["CRYPTOMATTE_TESTING_SAMPLES"] = "/Users/Alex/Downloads/Cryptomatte-1.2.0/sample_images"
cryptomatte_utilities.setup_cryptomatte()
cryptomatte_utilities.tests.run_nuke_tests()
# Result: test_csv_round_trip (cryptomatte_utilities_tests.CSVParsing) ... ok
test_mm3hash_float (cryptomatte_utilities_tests.CryptoHashing) ... ok
test_big_csv_through_gizmo (cryptomatte_utilities_tests.CSVParsingNuke) ... ok
test_csv_through_gizmo (cryptomatte_utilities_tests.CSVParsingNuke) ... ok
test_bug_still_exists (cryptomatte_utilities_tests.CryptomatteNodePasting)
Tests this bug still exists. We don't want to be running the fix if we don't have to. ... ok
test_paste_with_channelmerge (cryptomatte_utilities_tests.CryptomatteNodePasting)
Tests this bug has been fixed. ... ok
test_clear_button (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok
test_crypto_channel_knobs_type (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok
test_decrypto_basic (cryptomatte_utilities_tests.CryptomatteNukeTests)
Tests both basic decryptomatte, as well as ensuring _scansample() is ... ok
test_decrypto_custom_channel (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok
test_decrypto_matteonly_unpremul (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok
test_decrypto_rmchannels (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok
test_encrypt_bogus_inputs (cryptomatte_utilities_tests.CryptomatteNukeTests)
Tests that when setting up layers, entering the name before pressing "setup layers" ... ok
test_encrypt_bogus_manifest (cryptomatte_utilities_tests.CryptomatteNukeTests) ... FAIL
test_encrypt_channel_knobs_type (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok
test_encrypt_fresh_roundtrip (cryptomatte_utilities_tests.CryptomatteNukeTests) ... FAIL
test_encrypt_layer_forced_update_btn (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok
test_encrypt_layer_lock (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok
test_encrypt_layerselection (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok
test_encrypt_manifest (cryptomatte_utilities_tests.CryptomatteNukeTests)
Gets it into a weird state where it has a manifest but no cryptomatte. ... ok
test_encrypt_matte_name_autofill2 (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok
test_encrypt_merge_operations (cryptomatte_utilities_tests.CryptomatteNukeTests) ... skipped 'Auto failed this test to stop it wrecking the rest of the tests'
test_encrypt_roundtrip (cryptomatte_utilities_tests.CryptomatteNukeTests) ... FAIL
test_encrypt_roundtrip_without_prefix (cryptomatte_utilities_tests.CryptomatteNukeTests) ... FAIL
test_encrypt_setup_layers_numbers (cryptomatte_utilities_tests.CryptomatteNukeTests)
Tests that when setting up layers, entering the name before pressing "setup layers" ... ok
test_keying_blank_matteList (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok
test_keying_clear (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok
test_keying_manual (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok
test_keying_multiselect (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok
test_keying_nothing (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok
test_keying_partial_black (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok
test_keying_single_selection (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok
test_keying_stop_auto_update (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok
test_keying_with_removechannels (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok
test_keying_without_prefix (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok
test_keying_without_preview_channels (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok
test_layer_bogus_manifest (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok
test_layer_forced_update_btn (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok
test_layer_forced_update_func (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok
test_layer_lock (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok
test_layer_selection (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok
test_manifests (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok
test_matte_list_name_modifications (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok
test_matte_list_numeric (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok
test_output_preview (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok
test_output_preview_disabled (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok
test_output_preview_multi (cryptomatte_utilities_tests.CryptomatteNukeTests) ... ok

======================================================================
FAIL: test_encrypt_bogus_manifest (cryptomatte_utilities_tests.CryptomatteNukeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/Alex/.nuke/cryptomatte_utilities_tests.py", line 1050, in test_encrypt_bogus_manifest
    self.triangle_pkr, "Encryptomatte result not keyable after bogus manifest", alpha=1.0)
  File "/Users/Alex/.nuke/cryptomatte_utilities_tests.py", line 424, in assertSampleEqual
    self._sample_gizmo_assert(pkr, msg, False, **kwargs)
  File "/Users/Alex/.nuke/cryptomatte_utilities_tests.py", line 421, in _sample_gizmo_assert
    self.assertEqual(sample, value, msg_resolved)
AssertionError: Encryptomatte result not keyable after bogus manifest: (alpha) 0.0 vs 1.0

======================================================================
FAIL: test_encrypt_fresh_roundtrip (cryptomatte_utilities_tests.CryptomatteNukeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/Alex/.nuke/cryptomatte_utilities_tests.py", line 1116, in test_encrypt_fresh_roundtrip
    self.assertEqual(roto_hash_720, decrypto_hash, ("Alpha did not survive round trip through "
AssertionError: Alpha did not survive round trip through Encryptomatte and then Cryptomatte. 

======================================================================
FAIL: test_encrypt_roundtrip (cryptomatte_utilities_tests.CryptomatteNukeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/Alex/.nuke/cryptomatte_utilities_tests.py", line 1025, in test_encrypt_roundtrip
    "Encrypto-modified manifest not properly keyable. {0}".format(mlist))
AssertionError: Encrypto-modified manifest not properly keyable. heroflower, set

======================================================================
FAIL: test_encrypt_roundtrip_without_prefix (cryptomatte_utilities_tests.CryptomatteNukeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/Alex/.nuke/cryptomatte_utilities_tests.py", line 1036, in test_encrypt_roundtrip_without_prefix
    raise exception
AssertionError: Encrypto-modified manifest not properly keyable. heroflower, set

----------------------------------------------------------------------
Ran 47 tests in 4.604s

FAILED (failures=4, skipped=1)
---------
Failed: CryptomatteNukeTests.test_encrypt_bogus_manifest

Traceback (most recent call last):
  File "/Users/Alex/.nuke/cryptomatte_utilities_tests.py", line 1050, in test_encrypt_bogus_manifest
    self.triangle_pkr, "Encryptomatte result not keyable after bogus manifest", alpha=1.0)
  File "/Users/Alex/.nuke/cryptomatte_utilities_tests.py", line 424, in assertSampleEqual
    self._sample_gizmo_assert(pkr, msg, False, **kwargs)
  File "/Users/Alex/.nuke/cryptomatte_utilities_tests.py", line 421, in _sample_gizmo_assert
    self.assertEqual(sample, value, msg_resolved)
AssertionError: Encryptomatte result not keyable after bogus manifest: (alpha) 0.0 vs 1.0

---------
Failed: CryptomatteNukeTests.test_encrypt_fresh_roundtrip

Traceback (most recent call last):
  File "/Users/Alex/.nuke/cryptomatte_utilities_tests.py", line 1116, in test_encrypt_fresh_roundtrip
    self.assertEqual(roto_hash_720, decrypto_hash, ("Alpha did not survive round trip through "
AssertionError: Alpha did not survive round trip through Encryptomatte and then Cryptomatte. 

---------
Failed: CryptomatteNukeTests.test_encrypt_roundtrip

Traceback (most recent call last):
  File "/Users/Alex/.nuke/cryptomatte_utilities_tests.py", line 1025, in test_encrypt_roundtrip
    "Encrypto-modified manifest not properly keyable. {0}".format(mlist))
AssertionError: Encrypto-modified manifest not properly keyable. heroflower, set

---------
Failed: CryptomatteNukeTests.test_encrypt_roundtrip_without_prefix

Traceback (most recent call last):
  File "/Users/Alex/.nuke/cryptomatte_utilities_tests.py", line 1036, in test_encrypt_roundtrip_without_prefix
    raise exception
AssertionError: Encrypto-modified manifest not properly keyable. heroflower, set

---------
TESTING FAILED: 4 failed, 0 errors. (47 test cases.)

Thanks for the quick reply.

jonahfriedman commented 6 years ago

Ok cool. I suspect the remaining errors (all concerning encryptomatte) are really just based on your working resolution being low + imperfectly written tests. We should fix those tests at some point.

Thanks for confirming this was indeed installation issues, hopefully we'll have some time to add a "troubleshooting" button that checks for this stuff soon. (The test suite is more for developers to be sure they didn't break anything).