1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
4 #ifndef CEPH_TEST_LIBRBD_CACHE_MOCK_IMAGE_CACHE_H
5 #define CEPH_TEST_LIBRBD_CACHE_MOCK_IMAGE_CACHE_H
7 #include "gmock/gmock.h"
13 struct MockImageCache
{
14 typedef std::vector
<std::pair
<uint64_t,uint64_t> > Extents
;
16 MOCK_METHOD4(aio_read_mock
, void(const Extents
&, ceph::bufferlist
*, int,
18 void aio_read(Extents
&& image_extents
, ceph::bufferlist
* bl
,
19 int fadvise_flags
, Context
*on_finish
) {
20 aio_read_mock(image_extents
, bl
, fadvise_flags
, on_finish
);
24 MOCK_METHOD4(aio_write_mock
, void(const Extents
&, const ceph::bufferlist
&,
26 void aio_write(Extents
&& image_extents
, ceph::bufferlist
&& bl
,
27 int fadvise_flags
, Context
*on_finish
) {
28 aio_write_mock(image_extents
, bl
, fadvise_flags
, on_finish
);
31 MOCK_METHOD4(aio_discard
, void(uint64_t, uint64_t, bool, Context
*));
32 MOCK_METHOD1(aio_flush
, void(Context
*));
33 MOCK_METHOD5(aio_writesame_mock
, void(uint64_t, uint64_t, ceph::bufferlist
& bl
,
35 void aio_writesame(uint64_t off
, uint64_t len
, ceph::bufferlist
&& bl
,
36 int fadvise_flags
, Context
*on_finish
) {
37 aio_writesame_mock(off
, len
, bl
, fadvise_flags
, on_finish
);
40 MOCK_METHOD6(aio_compare_and_write_mock
, void(const Extents
&,
41 const ceph::bufferlist
&,
42 const ceph::bufferlist
&,
43 uint64_t *, int, Context
*));
45 void aio_compare_and_write(Extents
&& image_extents
, ceph::bufferlist
&& cmp_bl
,
46 ceph::bufferlist
&& bl
, uint64_t *mismatch_offset
,
47 int fadvise_flags
, Context
*on_finish
) {
48 aio_compare_and_write_mock(image_extents
, cmp_bl
, bl
, mismatch_offset
,
49 fadvise_flags
, on_finish
);
56 #endif // CEPH_TEST_LIBRBD_CACHE_MOCK_IMAGE_CACHE_H