Fix some win32 definitions

You can now use psapi.dll and pdh.dll. Some TODOs for Windows have been
cleared out. We might have a working load average for the platform that
should help GNU Make work well.
This commit is contained in:
Justine Tunney 2022-03-22 19:51:27 -07:00
parent e2e0b042c1
commit c23b6ecc31
162 changed files with 847 additions and 153 deletions

View file

@ -53,7 +53,6 @@ TEST(mprotect, test) {
TEST(mprotect, testSegfault) {
char *p;
struct sigaction ss = {.sa_handler = OnSigSegv, .sa_flags = SA_NODEFER};
if (IsWindows()) return; /* TODO */
p = gc(memalign(PAGESIZE, PAGESIZE));
EXPECT_NE(-1, sigaction(SIGBUS, &ss, NULL));
EXPECT_NE(-1, sigaction(SIGSEGV, &ss, NULL));

View file

@ -45,7 +45,6 @@ static int MockOpen1(const char *file, int flags, ...) {
}
TEST(mkostempsm, test1) {
if (IsWindows()) return; /* TODO */
uint64_t rando = 1;
char path[PATH_MAX] = "/tmp/mkostemps.XXXXXX";
EXPECT_EQ(123L, mkostempsmi(path, 0, 0, &rando, 0600, MockOpen1));
@ -74,7 +73,6 @@ static int MockOpen2(const char *file, int flags, ...) {
}
TEST(mkostempsm, test2) {
if (IsWindows()) return; /* TODO */
uint64_t rando = 1;
char path[PATH_MAX] = "/tmp/mkostemps.XXXXXX";
EXPECT_EQ(123, mkostempsmi(path, 0, 0, &rando, 0600, MockOpen2));

View file

@ -33,28 +33,24 @@ void TearDown(void) {
}
TEST(strtod, testNearest) {
if (IsWindows()) return;
fesetround(FE_TONEAREST);
EXPECT_STREQ("-1.79769313486231e+308",
gc(xasprintf("%.15g", strtod("-1.79769313486231e+308", NULL))));
}
TEST(strtod, testDownward) {
if (IsWindows()) return;
fesetround(FE_DOWNWARD);
EXPECT_STREQ("-1.79769313486232e+308",
gc(xasprintf("%.15g", strtod("-1.79769313486231e+308", NULL))));
}
TEST(strtod, testUpward) {
if (IsWindows()) return;
fesetround(FE_UPWARD);
EXPECT_STREQ("-1.7976931348623e+308",
gc(xasprintf("%.15g", strtod("-1.79769313486231e+308", NULL))));
}
TEST(strtod, testTowardzero) {
if (IsWindows()) return;
char *p;
for (int i = 0; i < 9999; ++i) {
fesetround(FE_TOWARDZERO);