> -----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


Reply via email to