#include <ulib.h>
#include <stdio.h>
const int max_child = 32;
int
main(void) {
    int n, pid;
    for (n = 0; n < max_child; n ++) {
        if ((pid = fork()) == 0) {
            cprintf("I am child %d\n", n);
            exit(0);
        }
        assert(pid > 0);
    }
    if (n > max_child) {
        panic("fork claimed to work %d times!\n", n);
    }
    for (; n > 0; n --) {
        if (wait() != 0) {
            panic("wait stopped early\n");
        }
    }
    if (wait() == 0) {
        panic("wait got too many\n");
    }
    cprintf("forktest pass.\n");
    return 0;
}