cosmopolitan/test/libc/release/smoke.c
Justine Tunney 5e8ae2d5bc Restart CI for New Technology and UBSAN hunting
Continuous Integration (via runit and runitd) is now re-enabled on win7
and win10. The `make test` command, which runs the tests on all systems
is now the fastest and most stable it's been since the project started.

UBSAN is now enabled in MODE=dbg in addition to ASAN. Many instances of
undefined behavior have been removed. Mostly things like passing a NULL
argument to memcpy(), which works fine with Cosmopolitan Libc, but that
doesn't prevents the compiler from being unhappy. There was an issue w/
GNU make where static analysis claims a sprintf() call can overflow. We
also now have nicer looking crash reports on Windows since uname should
now be supported and msys64 addr2line works reliably.
2022-03-21 04:32:57 -07:00

18 lines
393 B
C

int main(int argc, char *argv[]) {
int rc;
char *s;
FILE *f;
ShowCrashReports();
s = strdup(argv[0]);
s[0] = 'Z';
f = fopen("/dev/null", "w");
fputs(_gc(xiso8601ts(NULL)), f);
fputs(_gc(xasprintf("hello world %d %s\n", argc, s)), f);
fclose(f);
rc = system("exit 42");
CHECK_NE(-1, rc);
CHECK(WIFEXITED(rc));
CHECK_EQ(42, WEXITSTATUS(rc));
free(s);
return 0;
}