diff --git a/test/Makefile.am b/test/Makefile.am
index bd221006c8715b8d8fdbd14dbc329c2c22dcec4b..7f91966260339fed05b1277ab5cf6eefa6a32a79 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -11,5 +11,5 @@ check-am: do-pre-check
 do-pre-check:
 	$(MAKE) -C $(top_builddir) pre-check
 
-EXTRA_DIST = $(TESTS) mocks.py
+EXTRA_DIST = $(TESTS) mocks.py data
 CLEANFILES = *.py[co]
diff --git a/test/ganeti.bdev_unittest.py b/test/ganeti.bdev_unittest.py
index 5a775c7960d37d36fb6b5c5557d189f85430b369..7876f3d54a15f46df8badb4c76bfd8fc58951d65 100755
--- a/test/ganeti.bdev_unittest.py
+++ b/test/ganeti.bdev_unittest.py
@@ -22,6 +22,7 @@
 """Script for unittesting the bdev module"""
 
 
+import os
 import unittest
 
 from ganeti import bdev
@@ -43,6 +44,21 @@ class TestDRBD8Runner(unittest.TestCase):
       )
     return retval
 
+  @staticmethod
+  def _get_contents(name):
+    """Returns the contents of a file"""
+
+    prefix = os.environ.get("srcdir", None)
+    if prefix:
+      name = prefix + "/" + name
+    fh = open(name, "r")
+    try:
+      data = fh.read()
+    finally:
+      fh.close()
+    return data
+
+
   @staticmethod
   def _has_net(data, local, remote):
     """Check network connection parameters"""
@@ -60,7 +76,7 @@ class TestDRBD8Runner(unittest.TestCase):
 
   def testParserBoth(self):
     """Test drbdsetup show parser for disk and network"""
-    data = open("data/bdev-both.txt").read()
+    data = self._get_contents("data/bdev-both.txt")
     result = bdev.DRBD8._GetDevInfo(data)
     self.failUnless(self._has_disk(result, "/dev/xenvg/test.data",
                                    "/dev/xenvg/test.meta"),
@@ -71,7 +87,7 @@ class TestDRBD8Runner(unittest.TestCase):
 
   def testParserNet(self):
     """Test drbdsetup show parser for disk and network"""
-    data = open("data/bdev-net.txt").read()
+    data = self._get_contents("data/bdev-net.txt")
     result = bdev.DRBD8._GetDevInfo(data)
     self.failUnless(("local_dev" not in result and
                      "meta_dev" not in result and
@@ -83,7 +99,7 @@ class TestDRBD8Runner(unittest.TestCase):
 
   def testParserDisk(self):
     """Test drbdsetup show parser for disk and network"""
-    data = open("data/bdev-disk.txt").read()
+    data = self._get_contents("data/bdev-disk.txt")
     result = bdev.DRBD8._GetDevInfo(data)
     self.failUnless(self._has_disk(result, "/dev/xenvg/test.data",
                                    "/dev/xenvg/test.meta"),