1 #include "gtest/gtest.h"
2 #include "global/global_context.h"
4 #include "osdc/Striper.h"
10 l.object_size = 262144;
14 vector<ObjectExtent> ex;
15 Striper::file_to_extents(g_ceph_context, 1, &l, 5006035, 46419, 5006035, ex);
17 cout << "result " << ex << std::endl;
19 ASSERT_EQ(3u, ex.size());
20 ASSERT_EQ(98304u, ex[0].truncate_size);
21 ASSERT_EQ(ex[1].offset, ex[1].truncate_size);
22 ASSERT_EQ(94208u, ex[2].truncate_size);
25 TEST(Striper, EmptyPartialResult)
29 l.object_size = 4194304;
30 l.stripe_unit = 4194304;
33 vector<ObjectExtent> ex;
34 Striper::file_to_extents(g_ceph_context, 1, &l, 725549056, 131072, 72554905600, ex);
35 cout << "ex " << ex << std::endl;
36 ASSERT_EQ(2u, ex.size());
38 Striper::StripedReadResult r;
41 r.add_partial_result(g_ceph_context, bl, ex[1].buffer_extents);
47 r.add_partial_result(g_ceph_context, bl, ex[0].buffer_extents);
50 r.assemble_result(g_ceph_context, outbl, false);
52 ASSERT_EQ(65536u, outbl.length());
55 TEST(Striper, GetNumObj)
59 l.object_size = 262144;
62 uint64_t size,numobjs;
64 numobjs = Striper::get_num_objects(l, size);
65 ASSERT_EQ(2u, numobjs);
67 numobjs = Striper::get_num_objects(l, size);
68 ASSERT_EQ(5u, numobjs);
70 numobjs = Striper::get_num_objects(l, size);
71 ASSERT_EQ(6u, numobjs);