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)