Skip to content

Commit

Permalink
testsuite: cover idset AUTOGROW flag
Browse files Browse the repository at this point in the history
  • Loading branch information
garlick committed Dec 12, 2018
1 parent ef29cdc commit 5b1fbe0
Showing 1 changed file with 36 additions and 0 deletions.
36 changes: 36 additions & 0 deletions src/common/libidset/test/idset.c
Expand Up @@ -424,6 +424,41 @@ void test_copy (void)
idset_destroy (idset);
}

void test_autogrow (void)
{
struct idset *idset;

idset = idset_create (1, 0);
ok (idset != NULL,
"idset_create size=1 flags=0 works");
ok (idset->T.M == 1,
"idset internal size is 1");
ok (idset_set (idset, 0) == 0,
"idset_set 0 works");
errno = 0;
ok (idset_set (idset, 1) < 0 && errno == EINVAL,
"idset_set 1 fails with EINVAL");
idset_destroy (idset);

idset = idset_create (1, IDSET_FLAG_AUTOGROW);
ok (idset != NULL,
"idset_create size=1 flags=AUTOGROW works");
ok (idset->T.M == 1,
"idset internal size is 1");
ok (idset_set (idset, 0) == 0,
"idset_set 0 works");
ok (idset_set (idset, 2) == 0,
"idset_set 2 works");
ok (idset->T.M > 1,
"idset internal size grew");
ok ( idset_test (idset, 0)
&& !idset_test (idset, 1)
&& idset_test (idset, 2)
&& !idset_test (idset, 3),
"idset contains expected ids");
idset_destroy (idset);
}

int main (int argc, char *argv[])
{
plan (NO_PLAN);
Expand All @@ -438,6 +473,7 @@ int main (int argc, char *argv[])
test_clear ();
test_range_clear ();
test_copy ();
test_autogrow ();

done_testing ();
}
Expand Down

0 comments on commit 5b1fbe0

Please sign in to comment.