/* * Some tests for posix syscalls. * * Copyright (C) 2007 Bahadir Balban */ #include #include #include #include #include #include #include #include #include #include #include #include void wait_pager(l4id_t partner) { // printf("%s: Syncing with pager.\n", __TASKNAME__); for (int i = 0; i < 6; i++) write_mr(i, i); l4_send(partner, L4_IPC_TAG_SYNC); // printf("Pager synced with us.\n"); } pid_t parent_of_all; pid_t pagerid; int main(int argc, char *argv[]) { printf("\n%s: Started with thread id %d\n", __TASKNAME__, getpid()); parent_of_all = getpid(); pagerid = ascii_to_int(getenv("pagerid")); wait_pager(pagerid); printf("\n%s: Running POSIX API tests.\n", __TASKNAME__); small_io_test(); dirtest(); mmaptest(); shmtest(); forktest(); fileio(); clonetest(); if (parent_of_all == getpid()) { ipc_full_test(); ipc_extended_test(); } if (parent_of_all == getpid()) { user_mutex_test(); } exectest(parent_of_all); while (1) wait_pager(pagerid); }