Shorten thread pool tests

This commit is contained in:
Nick Terrell
2016-12-31 22:39:32 -05:00
parent bb13387d7d
commit 5ca0fd2045
+11 -11
View File
@@ -14,7 +14,7 @@
struct data { struct data {
pthread_mutex_t mutex; pthread_mutex_t mutex;
unsigned data[1024]; unsigned data[16];
size_t i; size_t i;
}; };
@@ -26,20 +26,20 @@ void fn(void *opaque) {
pthread_mutex_unlock(&data->mutex); pthread_mutex_unlock(&data->mutex);
} }
int testOrder(size_t numThreads, size_t queueLog) { int testOrder(size_t numThreads, size_t queueSize) {
struct data data; struct data data;
POOL_ctx *ctx = POOL_create(numThreads, queueLog); POOL_ctx *ctx = POOL_create(numThreads, queueSize);
ASSERT_TRUE(ctx); ASSERT_TRUE(ctx);
data.i = 0; data.i = 0;
pthread_mutex_init(&data.mutex, NULL); pthread_mutex_init(&data.mutex, NULL);
{ {
size_t i; size_t i;
for (i = 0; i < 1024; ++i) { for (i = 0; i < 16; ++i) {
POOL_add(ctx, &fn, &data); POOL_add(ctx, &fn, &data);
} }
} }
POOL_free(ctx); POOL_free(ctx);
ASSERT_EQ(1024, data.i); ASSERT_EQ(16, data.i);
{ {
size_t i; size_t i;
for (i = 0; i < data.i; ++i) { for (i = 0; i < data.i; ++i) {
@@ -52,19 +52,19 @@ int testOrder(size_t numThreads, size_t queueLog) {
int main(int argc, const char **argv) { int main(int argc, const char **argv) {
size_t numThreads; size_t numThreads;
for (numThreads = 1; numThreads <= 8; ++numThreads) { for (numThreads = 1; numThreads <= 4; ++numThreads) {
size_t queueLog; size_t queueSize;
for (queueLog = 1; queueLog <= 8; ++queueLog) { for (queueSize = 1; queueSize <= 2; ++queueSize) {
if (testOrder(numThreads, queueLog)) { if (testOrder(numThreads, queueSize)) {
printf("FAIL: testOrder\n"); printf("FAIL: testOrder\n");
return 1; return 1;
} }
} }
} }
printf("PASS: testOrder\n"); printf("PASS: testOrder\n");
(POOL_create(0, 1) || POOL_create(1, 0)) ? printf("FAIL: testInvalid\n")
: printf("PASS: testInvalid\n");
(void)argc; (void)argc;
(void)argv; (void)argv;
return (POOL_create(0, 1) || POOL_create(1, 0)) ? printf("FAIL: testInvalid\n"), 1
: printf("PASS: testInvalid\n"), 0;
return 0; return 0;
} }