system
idk why, but tests don't run `exit` after `main`
void abort()
int atexit( void (*func)(void) )