python/tests: turn GraphError into failure inside of test_verify()
authorStefan Metzmacher <metze@samba.org>
Tue, 2 Oct 2018 10:01:03 +0000 (12:01 +0200)
committerAndreas Schneider <asn@cryptomilk.org>
Tue, 2 Oct 2018 12:12:13 +0000 (14:12 +0200)
That test was already marked as flapping in commit
5a73f904e192c44e304850287ac439d0b52f7be5.

However the test generates an UNEXPECTED(error)
instead of an UNEXPECTED(failure).

  [67(594)/75 at 36m28s] samba.tests.kcc.python3(vampire_dc)
  repsFrom source DSA guid (62f01940-a784-4e60-947a-a661c787c8cc) not found
  repsFrom source DSA guid (62f01940-a784-4e60-947a-a661c787c8cc) not found
  repsFrom source DSA guid (62f01940-a784-4e60-947a-a661c787c8cc) not found
  repsFrom source DSA guid (62f01940-a784-4e60-947a-a661c787c8cc) not found
  repsFrom source DSA guid (62f01940-a784-4e60-947a-a661c787c8cc) not found
  UNEXPECTED(error): samba.tests.kcc.python3.samba.tests.kcc.KCCTests.test_verify(vampire_dc)
  REASON: Exception: Exception: Traceback (most recent call last):
    File "bin/python/samba/tests/kcc/__init__.py", line 80, in test_verify
      attempt_live_connections=False)
    File "bin/python/samba/kcc/__init__.py", line 2659, in run
      ('connected',))
    File "bin/python/samba/kcc/__init__.py", line 2513, in plot_all_connections
      vertex_colors=vertex_colours)
    File "bin/python/samba/kcc/graph_utils.py", line 334, in verify_and_dot
      for p, e, doc in errors)))
  samba.kcc.graph_utils.GraphError: The 'dsa_final CN=NTDS Settings,CN=LOCALVAMPIREDC,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=samba,DC=example,DC=com' graph lacks the following properties:
  connected: the graph is not connected, as the following vertices are unreachable:

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
python/samba/tests/kcc/__init__.py

index 3d33295e575a48447f74d906ea955b0f754788e0..39167824d3538bb4cb7ead5d8d81f23692e1f151 100644 (file)
@@ -75,6 +75,22 @@ class KCCTests(samba.tests.TestCase):
         my_kcc = kcc.KCC(unix_now, readonly=True, verify=True,
                          debug=False, dot_file_dir=None)
 
+        #
+        # The following seems to raise
+        # samba.kcc.graph_utils.GraphError when something
+        # goes wrong.
+        #
+        # Typically failureException is exceptions.AssertionError
+        # by default, see pydoc unittest.TestCase
+        #
+        # As this is flapping under python3, we need to
+        # make sure it generates a failure instead of an error.
+        #
+        # We need to make sure samba.kcc.graph_utils.GraphError
+        # will generate a failure from here on.
+        #
+        self.failureException = samba.kcc.graph_utils.GraphError
+
         my_kcc.run("ldap://%s" % os.environ["SERVER"],
                    self.lp, self.creds,
                    attempt_live_connections=False)