summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2013-02-14 11:37:57 -0800
committerSage Weil <sage@inktank.com>2013-02-14 15:40:25 -0800
commit290a352c3f9e241deac562e980ac8c6a74033ba6 (patch)
tree3498ded3490323e9ed07a275685f699f54d00585
parentf47916353547c77a65c7b70e609a9096f09c6d28 (diff)
downloadceph-290a352c3f9e241deac562e980ac8c6a74033ba6.tar.gz
osd/OSDCap: add unit test for parsing pools/objects with _ and -
Hunting #4122, where a user saw 2013-02-13 19:39:25.467916 7f766fdb4700 10 osd.0 10 session 0x2c8cc60 client.libvirt has caps osdcap[grant(object_prefix rbd^@children class-read),grant(pool libvirt^@pool^@test rwx)] 'allow class-read object_prefix rbd_children, allow pool libvirt-pool-test rwx' Signed-off-by: Sage Weil <sage@inktank.com> (cherry picked from commit 2ce28ef1d7f95e71e1043912dfa269ea3b0d1599) (cherry picked from commit a6534bc8a0247418d5263b765772d5266f99229c)
-rw-r--r--src/test/osd/osdcap.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/test/osd/osdcap.cc b/src/test/osd/osdcap.cc
index cec26e2b8d5..a26a843057e 100644
--- a/src/test/osd/osdcap.cc
+++ b/src/test/osd/osdcap.cc
@@ -60,6 +60,8 @@ const char *parse_good[] = {
" allow pool foo rwx; allow pool bar r ",
" allow wx pool taco",
"allow r pool foo object_prefix blah ; allow w auid 5",
+ "allow class-read object_prefix rbd_children, allow pool libvirt-pool-test rwx",
+ "allow class-read object_prefix rbd-children, allow pool libvirt_pool_test rwx",
0
};
@@ -420,7 +422,9 @@ TEST(OSDCap, OutputParsed)
{"allow pool images r; allow pool rbd rwx",
"osdcap[grant(pool images r),grant(pool rbd rwx)]"},
{"allow pool images r, allow pool rbd rwx",
- "osdcap[grant(pool images r),grant(pool rbd rwx)]"}
+ "osdcap[grant(pool images r),grant(pool rbd rwx)]"},
+ {"allow class-read object_prefix rbd_children, allow pool libvirt-pool-test rwx",
+ "osdcap[grant(object_prefix rbd_children class-read),grant(pool libvirt-pool-test rwx)]"}
};
size_t num_tests = sizeof(test_values) / sizeof(*test_values);