--- tests/api/env.c
+++ tests/api/env.c
@@ -61,11 +61,11 @@ START_TEST (env_get_test) {
   pr_env_unset(p, key);
 
   res = pr_env_get(p, key);
-  fail_unless(res == NULL);
+  fail_unless(res == NULL, "Unexpectedly found foo in environment");
 
   /* XXX PATH should always be set in the environment, right? */
   res = pr_env_get(p, "PATH");
-  fail_unless(res != NULL);
+  fail_unless(res != NULL, "Failed to find PATH in environment");
 
 #else
   res = pr_env_get(p, key);
--- tests/api/sets.c
+++ tests/api/sets.c
@@ -97,20 +97,20 @@ START_TEST (set_create_test) {
   fail_unless(errno == EPERM, "Failed to set errno to EPERM");
 
   res = xaset_create(p, NULL);
-  fail_unless(res != NULL);
+  fail_unless(res != NULL, "Failed with valid pool and NULL compare item");
   fail_unless(res->pool == p, "Expected %p, got %p", p, res->pool);
 
   permanent_pool = make_sub_pool(p);
 
   res = xaset_create(NULL, NULL);
-  fail_unless(res != NULL);
+  fail_unless(res != NULL, "Failed to handle null arguments");
   fail_unless(res->pool == permanent_pool, "Expected %p, got %p",
     permanent_pool, res->pool);
   fail_unless(res->xas_compare == NULL, "Expected NULL, got %p",
     res->xas_compare);
 
   res = xaset_create(p, (XASET_COMPARE) item_cmp);
-  fail_unless(res != NULL);
+  fail_unless(res != NULL, "Failed with valid pool and compare items");
   fail_unless(res->pool == p, "Expected %p, got %p", p, res->pool);
   fail_unless(res->xas_compare == (XASET_COMPARE) item_cmp,
     "Expected %p, got %p", item_cmp, res->xas_compare);
@@ -355,12 +355,12 @@ START_TEST (set_remove_test) {
   fail_unless(res == 0, "Failed to add item2");
 
   member = (xasetmember_t *) item1;
-  fail_unless(member->next == NULL);
-  fail_unless(member->prev != NULL);
+  fail_unless(member->next == NULL, "Next pointer is not NULL");
+  fail_unless(member->prev != NULL, "Previous pointer is NULL");
 
   member = (xasetmember_t *) item2;
-  fail_unless(member->next != NULL);
-  fail_unless(member->prev == NULL);
+  fail_unless(member->next != NULL, "Next pointer is NULL");
+  fail_unless(member->prev == NULL, "Previous pointer is not NULL");
 
   member = set->xas_list;
   fail_unless(member == (xasetmember_t *) item2,
@@ -371,8 +371,8 @@ START_TEST (set_remove_test) {
     strerror(errno));
 
   member = (xasetmember_t *) item2;
-  fail_unless(member->next == NULL);
-  fail_unless(member->prev == NULL);
+  fail_unless(member->next == NULL, "Next pointer is not NULL");
+  fail_unless(member->prev == NULL, "Previous pointer is not NULL");
 
   member = set->xas_list;
   fail_unless(member == (xasetmember_t *) item1,
@@ -383,8 +383,8 @@ START_TEST (set_remove_test) {
     strerror(errno));
 
   member = (xasetmember_t *) item1;
-  fail_unless(member->next == NULL);
-  fail_unless(member->prev == NULL);
+  fail_unless(member->next == NULL, "Next pointer is not NULL");
+  fail_unless(member->prev == NULL, "Previous pointer is not NULL");
 
   member = set->xas_list;
   fail_unless(member == NULL, "Expected list to be empty, got %p", member);
--- tests/api/str.c
+++ tests/api/str.c
@@ -1539,10 +1539,10 @@ START_TEST (uid2str_test) {
   const char *res;
 
   res = pr_uid2str(NULL, (uid_t) 1);
-  fail_unless(strcmp(res, "1") == 0);
+  fail_unless(strcmp(res, "1") == 0, "Failed to handle uid of 1");
 
   res = pr_uid2str(NULL, (uid_t) -1);
-  fail_unless(strcmp(res, "-1") == 0);
+  fail_unless(strcmp(res, "-1") == 0, "Failed to handle uid of -1");
 }
 END_TEST
 
@@ -1550,10 +1550,10 @@ START_TEST (gid2str_test) {
   const char *res;
 
   res = pr_gid2str(NULL, (gid_t) 1);
-  fail_unless(strcmp(res, "1") == 0);
+  fail_unless(strcmp(res, "1") == 0, "Failed to handle gid of 1");
 
   res = pr_gid2str(NULL, (gid_t) -1);
-  fail_unless(strcmp(res, "-1") == 0);
+  fail_unless(strcmp(res, "-1") == 0, "Failed to handle gid of -1");
 }
 END_TEST
 
--- tests/api/timers.c
+++ tests/api/timers.c
@@ -157,7 +157,7 @@ START_TEST (timer_remove_test) {
   int res;
 
   res = pr_timer_remove(0, NULL);
-  fail_unless(res == 0);
+  fail_unless(res == 0, "Non-zero response for removal with timer ID 0");
 
   res = pr_timer_add(1, 0, NULL, timers_test_cb, "test");
   fail_unless(res == 0, "Failed to add timer (%d): %s", res, strerror(errno));
