Skip to content

Commit 95507cb

Browse files
authored
Merge pull request #906 from etcwilde/ewilde/check-sysctlbyname
Test: Check result of `sysctlbyname`
2 parents f086778 + 165659e commit 95507cb

File tree

3 files changed

+21
-1
lines changed

3 files changed

+21
-1
lines changed

tests/bsdtests.c

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,20 @@ test_uint32_format(uint32_t actual, uint32_t expected, const char *format, ...)
164164
_test_uint32(NULL, 0, desc, actual, expected);
165165
}
166166

167+
void
168+
_test_uint32_not(const char* file, long line, const char* desc, uint32_t actual, uint32_t unexpected)
169+
{
170+
_test_print(file, line, desc,
171+
(actual != unexpected), "%u", actual, "!%u", unexpected);
172+
}
173+
174+
void
175+
test_uint32_not_format(uint32_t actual, uint32_t unexpected, const char *format, ...)
176+
{
177+
GENERATE_DESC
178+
_test_uint32_not(NULL, 0, desc, actual, unexpected);
179+
}
180+
167181
void
168182
_test_int32(const char* file, long line, const char* desc, int32_t actual, int32_t expected)
169183
{

tests/bsdtests.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,10 @@ void _test_uint32(const char* file, long line, const char* desc, uint32_t actual
111111
#define test_uint32(a,b,c) _test_uint32(__SOURCE_FILE__, __LINE__, a, b, c)
112112
void test_uint32_format(uint32_t actual, uint32_t expected, const char *format, ...) __printflike(3,4);
113113

114+
void _test_uint32_not(const char* file, long line, const char* desc, uint32_t actual, uint32_t unexpected);
115+
#define test_uint32_not(a,b,c) _test_uint32(__SOURCE_FILE__, __LINE__, a, b, c)
116+
void test_uint32_not_format(uint32_t actual, uint32_t unexpected, const char *format, ...) __printflike(3,4);
117+
114118
void _test_int32(const char* file, long line, const char* desc, int32_t actual, int32_t expected);
115119
#define test_int32(a,b,c) _test_int32(__SOURCE_FILE__, __LINE__, a, b, c)
116120
void test_int32_format(int32_t actual, int32_t expected, const char* format, ...) __printflike(3,4);

tests/dispatch_workqueue.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,8 @@ activecpu(void)
5959
activecpu = si.dwNumberOfProcessors;
6060
#else
6161
size_t s = sizeof(activecpu);
62-
sysctlbyname("hw.activecpu", &activecpu, &s, NULL, 0);
62+
if (sysctlbyname("hw.activecpu", &activecpu, &s, NULL, 0) != 0)
63+
return 0;
6364
#endif
6465
return activecpu;
6566
}
@@ -70,6 +71,7 @@ int
7071
main(void)
7172
{
7273
uint32_t ncpu = activecpu();
74+
test_uint32_not("Failed to get CPU count", ncpu, 0);
7375

7476
dispatch_test_start("Dispatch workqueue");
7577

0 commit comments

Comments
 (0)