platform_CryptohomeMultiple: add.

Tests multiple concurrent cryptohome mounts.

BUG=chromium-os:20778
TEST=Yes

Change-Id: I78aa1d35a6554d8fda2a1d0980bb1a3d0b9c9f69
Signed-off-by: Elly Jones <ellyjones@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/10588
Reviewed-by: Gaurav Shah <gauravsh@chromium.org>
Reviewed-by: Chris Masone <cmasone@chromium.org>
diff --git a/client/bin/site_utils.py b/client/bin/site_utils.py
index 55e0429..b1421fb 100644
--- a/client/bin/site_utils.py
+++ b/client/bin/site_utils.py
@@ -202,3 +202,21 @@
         return True
     else:
         return False
+
+def mounts():
+    ret = []
+    for line in file('/proc/mounts'):
+        m = re.match(r'(?P<src>\S+) (?P<dest>\S+) (?P<type>\S+) (?P<opts>\S+).*', line)
+        if m:
+            ret.append(m.groupdict())
+    return ret
+
+def is_mountpoint(path):
+    return path in [ m['dest'] for m in mounts() ]
+
+def require_mountpoint(path):
+    """
+    Raises an exception if path is not a mountpoint.
+    """
+    if not is_mountpoint(path):
+        raise error.TestFail('Path not mounted: "%s"' % path)