aos/lib/grading/test_spawn.c
2022-03-23 15:24:37 +00:00

24 lines
594 B
C

#include <test_helper.h>
#include <test_spawn.h>
#include <spawn/spawn.h>
#define PROCESS_COUNT 5
void do_test_spawn(void) {
// spawn multiple processes
struct spawninfo si[PROCESS_COUNT];
domainid_t pid[PROCESS_COUNT];
for(uint i = 0; i < PROCESS_COUNT; ++i) {
debug_printf("TEST_SPAWN: spawn %u\n", i);
CHECK_ERR(spawn_load_by_name("hello", &(si[i]), &(pid[i])));
}
for(volatile int j = 0; j < 300000000; ++j);
for(uint i = 0; i < PROCESS_COUNT; ++i) {
debug_printf("TEST_SPAWN: Killing %u\n", i);
CHECK_ERR(invoke_dispatcher_stop(si[i].dispatcher));
}
}