1*bcacb4e6SAndrew Jeffery /* 2*bcacb4e6SAndrew Jeffery * MBox Daemon Test File 3*bcacb4e6SAndrew Jeffery * 4*bcacb4e6SAndrew Jeffery * Copyright 2017 IBM 5*bcacb4e6SAndrew Jeffery * 6*bcacb4e6SAndrew Jeffery * Licensed under the Apache License, Version 2.0 (the "License"); 7*bcacb4e6SAndrew Jeffery * you may not use this file except in compliance with the License. 8*bcacb4e6SAndrew Jeffery * You may obtain a copy of the License at 9*bcacb4e6SAndrew Jeffery * 10*bcacb4e6SAndrew Jeffery * http://www.apache.org/licenses/LICENSE-2.0 11*bcacb4e6SAndrew Jeffery * 12*bcacb4e6SAndrew Jeffery * Unless required by applicable law or agreed to in writing, software 13*bcacb4e6SAndrew Jeffery * distributed under the License is distributed on an "AS IS" BASIS, 14*bcacb4e6SAndrew Jeffery * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15*bcacb4e6SAndrew Jeffery * See the License for the specific language governing permissions and 16*bcacb4e6SAndrew Jeffery * limitations under the License. 17*bcacb4e6SAndrew Jeffery * 18*bcacb4e6SAndrew Jeffery */ 19*bcacb4e6SAndrew Jeffery 20*bcacb4e6SAndrew Jeffery #include <assert.h> 21*bcacb4e6SAndrew Jeffery 22*bcacb4e6SAndrew Jeffery #include "mbox.h" 23*bcacb4e6SAndrew Jeffery #include "mboxd_msg.h" 24*bcacb4e6SAndrew Jeffery 25*bcacb4e6SAndrew Jeffery #include "test/mbox.h" 26*bcacb4e6SAndrew Jeffery #include "test/system.h" 27*bcacb4e6SAndrew Jeffery 28*bcacb4e6SAndrew Jeffery static const uint8_t command[] = { 29*bcacb4e6SAndrew Jeffery 0x02, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 30*bcacb4e6SAndrew Jeffery 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 31*bcacb4e6SAndrew Jeffery }; 32*bcacb4e6SAndrew Jeffery 33*bcacb4e6SAndrew Jeffery static const uint8_t response[] = { 34*bcacb4e6SAndrew Jeffery 0x02, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 35*bcacb4e6SAndrew Jeffery 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 36*bcacb4e6SAndrew Jeffery }; 37*bcacb4e6SAndrew Jeffery 38*bcacb4e6SAndrew Jeffery #define MEM_SIZE 3 39*bcacb4e6SAndrew Jeffery #define ERASE_SIZE 1 40*bcacb4e6SAndrew Jeffery #define N_WINDOWS 1 41*bcacb4e6SAndrew Jeffery #define WINDOW_SIZE 1 42*bcacb4e6SAndrew Jeffery 43*bcacb4e6SAndrew Jeffery #include <stdio.h> 44*bcacb4e6SAndrew Jeffery 45*bcacb4e6SAndrew Jeffery int main(void) 46*bcacb4e6SAndrew Jeffery { 47*bcacb4e6SAndrew Jeffery struct mbox_context *ctx; 48*bcacb4e6SAndrew Jeffery int rc; 49*bcacb4e6SAndrew Jeffery 50*bcacb4e6SAndrew Jeffery system_set_reserved_size(MEM_SIZE); 51*bcacb4e6SAndrew Jeffery system_set_mtd_sizes(MEM_SIZE, ERASE_SIZE); 52*bcacb4e6SAndrew Jeffery 53*bcacb4e6SAndrew Jeffery ctx = mbox_create_test_context(N_WINDOWS, WINDOW_SIZE); 54*bcacb4e6SAndrew Jeffery 55*bcacb4e6SAndrew Jeffery rc = mbox_command_dispatch(ctx, command, sizeof(command)); 56*bcacb4e6SAndrew Jeffery assert(rc == 2); 57*bcacb4e6SAndrew Jeffery 58*bcacb4e6SAndrew Jeffery rc = mbox_cmp(ctx, response, sizeof(response)); 59*bcacb4e6SAndrew Jeffery assert(rc == 0); 60*bcacb4e6SAndrew Jeffery 61*bcacb4e6SAndrew Jeffery return rc; 62*bcacb4e6SAndrew Jeffery } 63