Skip to content

Commit

Permalink
posix: Implement tests for set and get inheritsched APIs for pthread …
Browse files Browse the repository at this point in the history
…attr

Add tests for `pthread_attr_setinheritsched()`
and `pthread_attr_getinheritsched()`

signed-off-by: Gaetan Perrot <gaetanperrotpro@gmail.com>
  • Loading branch information
moonlight83340 committed Feb 3, 2024
1 parent 4794989 commit 46c840a
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 4 deletions.
43 changes: 43 additions & 0 deletions tests/posix/common/src/pthread_attr.c
Expand Up @@ -439,6 +439,49 @@ ZTEST(pthread_attr, test_pthread_attr_setstacksize)
}
}

ZTEST(pthread_attr, test_pthread_attr_getinheritsched)
{
int inheritsched = BIOS_FOOD;

/* degenerate cases */
{
if (false) {
/* undefined behaviour */
zassert_equal(pthread_attr_getinheritsched(NULL, NULL), EINVAL);
zassert_equal(pthread_attr_getinheritsched(NULL, &inheritsched), EINVAL);
zassert_equal(pthread_attr_getinheritsched(&uninit_attr, &inheritsched),
EINVAL);
}
zassert_equal(pthread_attr_getinheritsched(&attr, NULL), EINVAL);
}

zassert_ok(pthread_attr_getinheritsched(&attr, &inheritsched));
zassert_not_equal(inheritsched, BIOS_FOOD);
}

ZTEST(pthread_attr, test_pthread_attr_setinheritsched)
{
int inheritsched = PTHREAD_EXPLICIT_SCHED;
int new_inheritsched = PTHREAD_INHERIT_SCHED;

/* degenerate cases */
{
if (false) {
/* undefined behaviour */
zassert_equal(pthread_attr_setinheritsched(NULL, PTHREAD_EXPLICIT_SCHED),
EINVAL);
zassert_equal(pthread_attr_setinheritsched(NULL, inheritsched), EINVAL);
zassert_equal(pthread_attr_setinheritsched((pthread_attr_t *)&uninit_attr,
inheritsched), EINVAL);
}
zassert_equal(pthread_attr_setinheritsched(&attr, 3), EINVAL);
}

zassert_ok(pthread_attr_setscope(&attr, new_inheritsched));
zassert_ok(pthread_attr_getscope(&attr, &inheritsched));
zassert_equal(inheritsched, new_inheritsched);
}

ZTEST(pthread_attr, test_pthread_attr_large_stacksize)
{
size_t actual_size;
Expand Down
8 changes: 4 additions & 4 deletions tests/posix/headers/src/pthread_h.c
Expand Up @@ -34,8 +34,8 @@ ZTEST(posix_headers, test_pthread_h)
zassert_not_equal(-1, PTHREAD_CREATE_DETACHED);
zassert_not_equal(-1, PTHREAD_CREATE_JOINABLE);

/* zassert_not_equal(-1, PTHREAD_EXPLICIT_SCHED); */ /* not implemented */
/* zassert_not_equal(-1, PTHREAD_INHERIT_SCHED); */ /* not implemented */
zassert_not_equal(-1, PTHREAD_EXPLICIT_SCHED);
zassert_not_equal(-1, PTHREAD_INHERIT_SCHED);

zassert_not_equal(-1, PTHREAD_MUTEX_DEFAULT);
zassert_not_equal(-1, PTHREAD_MUTEX_ERRORCHECK);
Expand Down Expand Up @@ -65,7 +65,7 @@ ZTEST(posix_headers, test_pthread_h)
zassert_not_null(pthread_attr_destroy);
zassert_not_null(pthread_attr_getdetachstate);
zassert_not_null(pthread_attr_getguardsize);
/* zassert_not_null(pthread_attr_getinheritsched); */ /* not implemented */
zassert_not_null(pthread_attr_getinheritsched);
zassert_not_null(pthread_attr_getschedparam);
zassert_not_null(pthread_attr_getschedpolicy);
/* zassert_not_null(pthread_attr_getscope); */ /* not implemented */
Expand All @@ -74,7 +74,7 @@ ZTEST(posix_headers, test_pthread_h)
zassert_not_null(pthread_attr_init);
zassert_not_null(pthread_attr_setdetachstate);
zassert_not_null(pthread_attr_setguardsize);
/* zassert_not_null(pthread_attr_setinheritsched); */ /* not implemented */
zassert_not_null(pthread_attr_setinheritsched);
zassert_not_null(pthread_attr_setschedparam);
zassert_not_null(pthread_attr_setschedpolicy);
/* zassert_not_null(pthread_attr_setscope); */ /* not implemented */
Expand Down

0 comments on commit 46c840a

Please sign in to comment.