1*4fe996c2SAndrew Jeffery // SPDX-License-Identifier: Apache-2.0
2*4fe996c2SAndrew Jeffery // Copyright (C) 2018 IBM Corp.
3c1e7db34SAndrew Jeffery
4c1e7db34SAndrew Jeffery #include <assert.h>
5c1e7db34SAndrew Jeffery
6c1e7db34SAndrew Jeffery #include "mbox.h"
7c1e7db34SAndrew Jeffery #include "mboxd_msg.h"
8c1e7db34SAndrew Jeffery
9c1e7db34SAndrew Jeffery #include "test/mbox.h"
10c1e7db34SAndrew Jeffery #include "test/system.h"
11c1e7db34SAndrew Jeffery
12c1e7db34SAndrew Jeffery static const uint8_t command[] = {
13c1e7db34SAndrew Jeffery 0x02, 0xaa, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
14c1e7db34SAndrew Jeffery 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
15c1e7db34SAndrew Jeffery };
16c1e7db34SAndrew Jeffery
17c1e7db34SAndrew Jeffery static const uint8_t response[] = {
18c1e7db34SAndrew Jeffery 0x02, 0xaa, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
19c1e7db34SAndrew Jeffery 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
20c1e7db34SAndrew Jeffery };
21c1e7db34SAndrew Jeffery
22c1e7db34SAndrew Jeffery #define MEM_SIZE 3
23c1e7db34SAndrew Jeffery #define ERASE_SIZE 1
24c1e7db34SAndrew Jeffery #define N_WINDOWS 1
25c1e7db34SAndrew Jeffery #define WINDOW_SIZE 1
26c1e7db34SAndrew Jeffery
main(void)27c1e7db34SAndrew Jeffery int main(void)
28c1e7db34SAndrew Jeffery {
29c1e7db34SAndrew Jeffery struct mbox_context *ctx;
30c1e7db34SAndrew Jeffery int rc;
31c1e7db34SAndrew Jeffery
32c1e7db34SAndrew Jeffery system_set_reserved_size(MEM_SIZE);
33c1e7db34SAndrew Jeffery system_set_mtd_sizes(MEM_SIZE, ERASE_SIZE);
34c1e7db34SAndrew Jeffery
35c1e7db34SAndrew Jeffery ctx = mbox_create_test_context(N_WINDOWS, WINDOW_SIZE);
36c1e7db34SAndrew Jeffery
37c1e7db34SAndrew Jeffery rc = mbox_command_dispatch(ctx, command, sizeof(command));
38c1e7db34SAndrew Jeffery assert(rc == 1);
39c1e7db34SAndrew Jeffery
40c1e7db34SAndrew Jeffery rc = mbox_cmp(ctx, response, sizeof(response));
41c1e7db34SAndrew Jeffery assert(rc == 0);
42c1e7db34SAndrew Jeffery
43c1e7db34SAndrew Jeffery return rc;
44c1e7db34SAndrew Jeffery }
45