aos/lib/grading/test_spawn.c
2022-03-23 15:55:20 +00:00

26 lines
631 B
C

#include <test_helper.h>
#include <test_spawn.h>
#include <spawn/spawn.h>
#include <time.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])));
}
// wait for 10 seconds before continuing
time_wait_ms(10000);
for(uint i = 0; i < PROCESS_COUNT; ++i) {
debug_printf("TEST_SPAWN: Killing %u\n", i);
CHECK_ERR(invoke_dispatcher_stop(si[i].dispatcher));
}
}