9 const unsigned int nops)
24 if (mio_p->
nops != mio_p->
i) {
35 if (mio_p->
nops <= mio_p->
i) {
36 fprintf(stderr,
"ERROR: mockio overrun at i==%d in read\n",
41 if (0 != mio_p->
ops[mio_p->
i].
code) {
43 "ERROR: mockio code mismatch: i==%d Eepected/Actual %d/0\n",
48 if (size != mio_p->
ops[mio_p->
i].
size) {
50 "ERROR: mockio size mismatch: i==%d Eepected/Actual %lu/%lu\n",
51 mio_p->
i, mio_p->
ops[mio_p->
i].
size, size);
56 memcpy(buf, mio_p->
ops[mio_p->
i].
data, size);
69 if (mio_p->
nops <= mio_p->
i) {
70 fprintf(stderr,
"ERROR: mockio overrun at i==%d in write\n",
75 if (1 != mio_p->
ops[mio_p->
i].
code) {
77 "ERROR: mockio code mismatch: i==%d Eepected/Actual %d/1\n",
82 if (size != mio_p->
ops[mio_p->
i].
size) {
84 "ERROR: mockio size mismatch: i==%d Eepected/Actual %lu/%lu\n",
85 mio_p->
i, mio_p->
ops[mio_p->
i].
size, size);
90 if (0 != memcmp(buf, mio_p->
ops[mio_p->
i].
data, size)) {
91 fprintf(stderr,
"ERROR: write contents mismatch: i==%d\n",
93 fprintf(stderr,
"Expected:\n");
94 for (i = 0; i < size; ++i) {
95 fprintf(stderr,
"0x%02x,",
96 ((
unsigned char *) mio_p->
ops[mio_p->
i].
data)[i]);
98 fprintf(stderr,
"\n");
99 fprintf(stderr,
"Actual:\n");
100 for (i = 0; i < size; ++i) {
101 fprintf(stderr,
"0x%02x,", ((
unsigned char *) buf)[i]);
103 fprintf(stderr,
"\n");
unsigned char data[HIPC_IMG_ALLOCSIZE]
int mockIOCheckCompletion(struct MockIO *mio_p)
void mockIOInit(struct MockIO *mio_p, const struct MockIOOp *ops, const unsigned int nops)
enum MOCK_errno mock_errno
enum HIPC_errno mockIOWrite(struct MockIO *mio_p, const void *buf, const size_t size)
enum HIPC_errno mockIORead(struct MockIO *mio_p, void *buf, const size_t size)
const struct MockIOOp * ops