I'm not sure there really is much dh-python can do here. Note that there really are no tests in the upstream package. Cloning upstream's hg you find:
% python3.4 -m unittest discover -v ---------------------------------------------------------------------- Ran 0 tests in 0.000s OK and % python3.5 -m unittest discover -v patchqueue (unittest.loader._FailedTest) ... ERROR ====================================================================== ERROR: patchqueue (unittest.loader._FailedTest) ---------------------------------------------------------------------- ImportError: Failed to import test module: patchqueue Traceback (most recent call last): File "/usr/lib/python3.5/unittest/loader.py", line 462, in _find_test_path package = self._get_module_from_name(name) File "/usr/lib/python3.5/unittest/loader.py", line 369, in _get_module_from_name __import__(name) File "/home/barry/projects/debian/sphinxpatchq/upstream/patchqueue/__init__.py", line 11, in <module> import mercurial.patch ImportError: No module named 'mercurial' ---------------------------------------------------------------------- Ran 1 test in 0.000s FAILED (errors=1) So without dh-python getting involved, the bug is reproducible. I'm not sure it's a bug in Python 3.5 either really, just a new feature which turns out in this case to be useful for finding the error early. I guess.