49 lines
962 B
C
49 lines
962 B
C
#include <string.h>
|
|
#include <stdlib.h>
|
|
|
|
#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;
|
|
}
|