import unittest
 
+from testing.test_crypto import HeaderTest, AESGCMTest
 from testing.test_multivol import MultivolGnuFormatTest, MultivolPaxFormatTest
 from testing.test_concat_compress import ConcatCompressTest
 from testing.test_rescue_tar import RescueTarTest
                          , DeltaTarGzipStreamTest,   DeltaTarGzipConcatTest
                          , DeltaTarGzipAes128ConcatTest
                          , DeltaTarAes128ConcatTest
+                         , HeaderTest, AESGCMTest
                          ]:
                 try:
                     t = group (n)
 
         decryptor      = crypto.Decrypt (password, fixedparts=fixed)
         decryptor.next (header)
         plaintext      = decryptor.process (ciphertext)
-        ok, rest       = decryptor.done ()
+        rest           = decryptor.done ()
         plaintext     += rest
 
-        assert ok
         assert plaintext == TEST_PLAINTEXT
 
 
         decryptor      = crypto.Decrypt (password, fixedparts=fixed)
         decryptor.next (header)
         plaintext      = decryptor.process (ciphertext)
-        ok, err        = decryptor.done ()
-
-        assert ok is False
-        assert err == "InvalidTag()"
+        try:
+            _ = decryptor.done ()
+        except crypto.InvalidGCMTag:
+            pass
 
 
     def test_crypto_aes_gcm_enc_multicnk (self):
             pt += cnk
             off += cnksiz
 
-        ok, cnk = decryptor.done ()
-        assert ok
 
-        pt += cnk
+        pt += decryptor.done ()
         assert pt == orig_pt
 
 
             pt += cnk
             off += cnksiz
 
-        ok, err = decryptor.done ()
-        assert ok is False
-        assert err == "InvalidTag()"
+        try:
+            _ = decryptor.done ()
+        except crypto.InvalidGCMTag:
+            pass
 
 
 class HeaderTest (CryptoLayerTest):