#include #include #include "../../vmap.h" int main() { Memory* mem = memory_init(-1); int pid1 = 12; int pid2 = 24; char* real1 = malloc(sizeof(char)*32); real1[0] = 'h'; real1[1] = 'e'; real1[2] = 'l'; real1[3] = 'l'; real1[4] = 'o'; real1[5] = '!'; real1[6] = '\0'; char* data1 = my_malloc(mem, 32*sizeof(char), pid1); char* data2 = my_malloc(mem, 32*sizeof(char), pid2); vmap_copy_from_memory(mem, real1, data1, 8, pid1); my_copy(mem, data1, data2, 32*sizeof(char), pid1); //! src and dst have different PIDs char* real = malloc(sizeof(char)*32); vmap_copy_to_memory(mem, data2, real, 7, pid2); if (strcmp(real, real1)) { printf("%d\n", strcmp(real, real1)); fprintf(stderr, "copy test failed\n"); return 1; } free(real); free(real1); my_free(mem, data1, pid1); my_free(mem, data2, pid2); return 0; }