> -----Original Message----- > From: Michael S. Tsirkin [mailto:m...@redhat.com] > Sent: Friday, July 17, 2015 10:10 PM > To: qemu-devel@nongnu.org > Cc: marcandre.lur...@gmail.com; haifeng....@huawei.com; > thibaut.col...@6wind.com; Ouyang, Changchun; f...@redhat.com; Peter > Maydell; Nikolay Nikolaev; Gonglei; Stefan Hajnoczi > Subject: [PATCH 4/4] vhost-user: unit test for new messages > > Data is empty for now, but do make sure master sets the new feature bit flag. > > Signed-off-by: Michael S. Tsirkin <m...@redhat.com> > --- > tests/vhost-user-test.c | 19 +++++++++++++++++++ > 1 file changed, 19 insertions(+) > > diff --git a/tests/vhost-user-test.c b/tests/vhost-user-test.c index > 75fedf0..228acb6 100644 > --- a/tests/vhost-user-test.c > +++ b/tests/vhost-user-test.c > @@ -53,6 +53,8 @@ > > #define VHOST_MEMORY_MAX_NREGIONS 8 > > +#define VHOST_USER_F_PROTOCOL_FEATURES 30 > + > typedef enum VhostUserRequest { > VHOST_USER_NONE = 0, > VHOST_USER_GET_FEATURES = 1, > @@ -69,6 +71,8 @@ typedef enum VhostUserRequest { > VHOST_USER_SET_VRING_KICK = 12, > VHOST_USER_SET_VRING_CALL = 13, > VHOST_USER_SET_VRING_ERR = 14, > + VHOST_USER_GET_PROTOCOL_FEATURES = 15, > + VHOST_USER_SET_PROTOCOL_FEATURES = 16, > VHOST_USER_MAX > } VhostUserRequest; > > @@ -293,11 +297,26 @@ static void chr_read(void *opaque, const uint8_t > *buf, int size) > /* send back features to qemu */ > msg.flags |= VHOST_USER_REPLY_MASK; > msg.size = sizeof(m.u64); > + msg.u64 = 0x1ULL << VHOST_USER_F_PROTOCOL_FEATURES; > + p = (uint8_t *) &msg; > + qemu_chr_fe_write_all(chr, p, VHOST_USER_HDR_SIZE + msg.size); > + break; > + > + case VHOST_USER_SET_FEATURES: > + g_assert_cmpint(msg.u64 & (0x1ULL << > VHOST_USER_F_PROTOCOL_FEATURES), > + !=, 0ULL); > + break; > + > + case VHOST_USER_GET_PROTOCOL_FEATURES:
Do we also need add test codes for the case: VHOST_USER_SET_PROTOCOL_FEATURES? > + /* send back features to qemu */ > + msg.flags |= VHOST_USER_REPLY_MASK; > + msg.size = sizeof(m.u64); > msg.u64 = 0; > p = (uint8_t *) &msg; > qemu_chr_fe_write_all(chr, p, VHOST_USER_HDR_SIZE + msg.size); > break; > > + > case VHOST_USER_GET_VRING_BASE: > /* send back vring base to qemu */ > msg.flags |= VHOST_USER_REPLY_MASK; > -- > MST