瀏覽代碼

add conftest.py hack needed for borg 1.0.x

Thomas Waldmann 8 年之前
父節點
當前提交
2679963cb9
共有 1 個文件被更改,包括 21 次插入0 次删除
  1. 21 0
      conftest.py

+ 21 - 0
conftest.py

@@ -1,8 +1,29 @@
 import os
+import sys
 
 import pytest
 
 
+# This is a hack to fix path problems because "borg" (the package) is in the source root.
+# When importing the conftest an "import borg" can incorrectly import the borg from the
+# source root instead of the one installed in the environment.
+# The workaround is to remove entries pointing there from the path and check whether "borg"
+# is still importable. If it is not, then it has not been installed in the environment
+# and the entries are put back.
+#
+# TODO: After moving the package to src/: remove this.
+
+original_path = list(sys.path)
+for entry in original_path:
+    if entry == '' or entry.endswith('/borg'):
+        sys.path.remove(entry)
+
+try:
+    import borg
+except ImportError:
+    sys.path = original_path
+
+
 @pytest.fixture(autouse=True)
 def clean_env(tmpdir_factory, monkeypatch):
     # avoid that we access / modify the user's normal .config / .cache directory: