universal-libc: fix strncmp tests

The specification for this function is that it returns a positive value,
zero, or negative value, not that it returns the difference between
ascii values.
This commit is contained in:
Andrew Kelley 2022-09-12 22:32:15 -07:00
parent 78729c4939
commit 7a941391d8

View File

@ -298,10 +298,10 @@ fn strerror(errnum: c_int) callconv(.C) [*:0]const u8 {
}
test "strncmp" {
try std.testing.expect(strncmp("a", "b", 1) == -1);
try std.testing.expect(strncmp("a", "c", 1) == -2);
try std.testing.expect(strncmp("b", "a", 1) == 1);
try std.testing.expect(strncmp("\xff", "\x02", 1) == 253);
try std.testing.expect(strncmp("a", "b", 1) < 0);
try std.testing.expect(strncmp("a", "c", 1) < 0);
try std.testing.expect(strncmp("b", "a", 1) > 0);
try std.testing.expect(strncmp("\xff", "\x02", 1) > 0);
}
// TODO we should be able to put this directly in std/linux/x86_64.zig but