From fa31191abe883d0ddc2a441550eeacc4126c85cb Mon Sep 17 00:00:00 2001
From: "Benjamin A. Beasley" <code@musicinmybrain.net>
Date: Sat, 18 Dec 2021 10:32:19 -0500
Subject: [PATCH] Support Callable in collections.abc

The abstract base classes are available here in Python 3.3+, and
in current Python versions they are no longer available directly
in collections.
---
 src/testing/common/database.py | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/testing/common/database.py b/src/testing/common/database.py
index 5ba8c5e..74e1067 100644
--- a/src/testing/common/database.py
+++ b/src/testing/common/database.py
@@ -23,7 +23,10 @@
 from time import sleep
 from shutil import copytree, rmtree
 from datetime import datetime
-import collections
+try:
+    from collections.abc import Callable
+except ImportError:
+    from collections import Callable
 
 
 class DatabaseFactory(object):
@@ -285,7 +288,7 @@ def decorator(fn, path=arg):
 
             return skipIf(cond, "%s not found" % self.name)(fn)
 
-        if isinstance(arg, collections.Callable):  # execute as simple decorator
+        if isinstance(arg, Callable):  # execute as simple decorator
             return decorator(arg, None)
         else:  # execute with path argument
             return decorator
