Skip to content

Commit

Permalink
Fix assert hygiene in t_path.c
Browse files Browse the repository at this point in the history
Correct all uses of side-effecting asserts in t_path.c so that it
works correctly when NDEBUG is defined.  Reported by Nehal J Wani.

ticket: 8689
  • Loading branch information
greghudson committed Jun 8, 2018
1 parent e952578 commit 46b7940
Showing 1 changed file with 10 additions and 5 deletions.
15 changes: 10 additions & 5 deletions src/util/support/t_path.c
Original file line number Diff line number Diff line change
Expand Up @@ -136,12 +136,16 @@ main(void)
edirname = split_tests[i].posix_dirname;
ebasename = split_tests[i].posix_basename;
#endif
assert(k5_path_split(ipath, NULL, NULL) == 0);
assert(k5_path_split(ipath, &dirname, NULL) == 0);
if (k5_path_split(ipath, NULL, NULL) != 0)
abort();
if (k5_path_split(ipath, &dirname, NULL) != 0)
abort();
free(dirname);
assert(k5_path_split(ipath, NULL, &basename) == 0);
if (k5_path_split(ipath, NULL, &basename) != 0)
abort();
free(basename);
assert(k5_path_split(ipath, &dirname, &basename) == 0);
if (k5_path_split(ipath, &dirname, &basename) != 0)
abort();
if (strcmp(dirname, edirname) != 0) {
fprintf(stderr, "Split test %d: dirname %s != expected %s\n",
(int)i, dirname, edirname);
Expand All @@ -164,7 +168,8 @@ main(void)
#else
ejoined = join_tests[i].posix_result;
#endif
assert(k5_path_join(path1, path2, &joined) == 0);
if (k5_path_join(path1, path2, &joined) != 0)
abort();
if (strcmp(joined, ejoined) != 0) {
fprintf(stderr, "Join test %d: %s != expected %s\n",
(int)i, joined, ejoined);
Expand Down

0 comments on commit 46b7940

Please sign in to comment.