@@ -3019,7 +3019,7 @@ TEST_P(StoreTest, SimpleAttrTest) {
30193019 int r;
30203020 coll_t cid;
30213021 ghobject_t hoid (hobject_t (sobject_t (" attr object 1" , CEPH_NOSNAP)));
3022- bufferlist val, val2, val_exactly_10;
3022+ bufferlist val, val2, val_exactly_10, empty_bl ;
30233023 val.append (" value" );
30243024 val.append (" value2" );
30253025 bufferptr bp = bufferptr (" 0123456789abcdef" , 0x10 );
@@ -3054,6 +3054,7 @@ TEST_P(StoreTest, SimpleAttrTest) {
30543054 t.setattr (cid, hoid, " foo" , val);
30553055 t.setattr (cid, hoid, " bar" , val2);
30563056 t.setattr (cid, hoid, " tiramisu" , val_exactly_10);
3057+ t.setattr (cid, hoid, " empty" , empty_bl);
30573058 r = queue_transaction (store, ch, std::move (t));
30583059 ASSERT_EQ (r, 0 );
30593060 }
@@ -3080,10 +3081,42 @@ TEST_P(StoreTest, SimpleAttrTest) {
30803081 bl1.append (bp);
30813082 ASSERT_TRUE (bl_eq (val_exactly_10, bl1));
30823083
3084+ r = store->getattr (ch, hoid, " empty" , bp);
3085+ ASSERT_EQ (0 , r);
3086+ EXPECT_EQ (bp.length (), 0 );
3087+
30833088 map<string,bufferptr,less<>> bm;
30843089 r = store->getattrs (ch, hoid, bm);
30853090 ASSERT_EQ (0 , r);
3091+ }
3092+ ch.reset ();
3093+ EXPECT_EQ (store->umount (), 0 );
3094+ EXPECT_EQ (store->mount (), 0 );
3095+ ch = store->open_collection (cid);
3096+ {
3097+ bufferptr bp;
3098+ r = store->getattr (ch, hoid, " nofoo" , bp);
3099+ ASSERT_EQ (-ENODATA, r);
3100+
3101+ r = store->getattr (ch, hoid, " foo" , bp);
3102+ ASSERT_EQ (0 , r);
3103+ bufferlist bl;
3104+ bl.append (bp);
3105+ ASSERT_TRUE (bl_eq (val, bl));
3106+
3107+ r = store->getattr (ch, hoid, " tiramisu" , bp);
3108+ ASSERT_EQ (0 , r);
3109+ bufferlist bl1;
3110+ bl1.append (bp);
3111+ ASSERT_TRUE (bl_eq (val_exactly_10, bl1));
3112+
3113+ r = store->getattr (ch, hoid, " empty" , bp);
3114+ ASSERT_EQ (0 , r);
3115+ EXPECT_EQ (bp.length (), 0 );
30863116
3117+ map<string,bufferptr,less<>> bm;
3118+ r = store->getattrs (ch, hoid, bm);
3119+ ASSERT_EQ (0 , r);
30873120 }
30883121 {
30893122 ObjectStore::Transaction t;
0 commit comments