From 6beb24352a2f1d4d0f47453a6a7b6179ac15cef0 Mon Sep 17 00:00:00 2001 From: Igor Fedotov Date: Mon, 20 Jun 2016 17:21:27 +0300 Subject: [PATCH] os/store_test: fix synthetic test cases to handle zero-writes properly, i.e. do not increase object size. Signed-off-by: Igor Fedotov --- src/test/objectstore/store_test.cc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/test/objectstore/store_test.cc b/src/test/objectstore/store_test.cc index af02b96729bf..cf3e0f5fa960 100644 --- a/src/test/objectstore/store_test.cc +++ b/src/test/objectstore/store_test.cc @@ -1997,6 +1997,10 @@ TEST_P(StoreTest, ZeroLengthWrite) { r = store->stat(cid, hoid, &stat); ASSERT_EQ(0, r); ASSERT_EQ(0, stat.st_size); + + bufferlist newdata; + r = store->read(cid, hoid, 0, 1048576, newdata); + ASSERT_EQ(0, r); } TEST_P(StoreTest, SimpleAttrTest) { @@ -3465,8 +3469,10 @@ public: bufferlist& data = contents[new_obj].data; if (data.length() <= offset) { - data.append_zero(offset-data.length()); - data.append(bl); + if (len > 0) { + data.append_zero(offset-data.length()); + data.append(bl); + } } else { bufferlist value; assert(data.length() > offset); -- 2.47.3