--- a/test/utils.c Wed Jan 07 22:23:43 2026 +0100 +++ b/test/utils.c Wed Jan 07 22:31:05 2026 +0100 @@ -37,20 +37,41 @@ time_t t2 = util_parse_creationdate("2023-09-17T13:03:00+02:00"); struct tm *tm = gmtime(&t1); - CX_TEST_ASSERTMM(tm->tm_year == 112, "t1: wrong year"); - CX_TEST_ASSERTMM(tm->tm_mon == 10, "t1: wrong month"); - CX_TEST_ASSERTMM(tm->tm_mday == 29, "t1: wrong day"); - CX_TEST_ASSERTMM(tm->tm_hour == 21, "t1: wrong hour"); - CX_TEST_ASSERTMM(tm->tm_min == 35, "t1: wrong minute"); - CX_TEST_ASSERTMM(tm->tm_sec == 36, "t1: wrong second"); + CX_TEST_ASSERTM(tm->tm_year == 112, "t1: wrong year"); + CX_TEST_ASSERTM(tm->tm_mon == 10, "t1: wrong month"); + CX_TEST_ASSERTM(tm->tm_mday == 29, "t1: wrong day"); + CX_TEST_ASSERTM(tm->tm_hour == 21, "t1: wrong hour"); + CX_TEST_ASSERTM(tm->tm_min == 35, "t1: wrong minute"); + CX_TEST_ASSERTM(tm->tm_sec == 36, "t1: wrong second"); tm = gmtime(&t2); - CX_TEST_ASSERTMM(tm->tm_year == 123, "t2: wrong year"); - CX_TEST_ASSERTMM(tm->tm_mon == 8, "t2: wrong month"); - CX_TEST_ASSERTMM(tm->tm_mday == 17, "t2: wrong day"); - CX_TEST_ASSERTMM(tm->tm_hour == 11, "t2: wrong hour"); - CX_TEST_ASSERTMM(tm->tm_min == 03, "t2: wrong minute"); - CX_TEST_ASSERTMM(tm->tm_sec == 0, "t2: wrong second"); + CX_TEST_ASSERTM(tm->tm_year == 123, "t2: wrong year"); + CX_TEST_ASSERTM(tm->tm_mon == 8, "t2: wrong month"); + CX_TEST_ASSERTM(tm->tm_mday == 17, "t2: wrong day"); + CX_TEST_ASSERTM(tm->tm_hour == 11, "t2: wrong hour"); + CX_TEST_ASSERTM(tm->tm_min == 03, "t2: wrong minute"); + CX_TEST_ASSERTM(tm->tm_sec == 0, "t2: wrong second"); } } + +CX_TEST(test_util_path_isrelated) { + CX_TEST_DO { + CX_TEST_ASSERT(util_path_isrelated("/", "/")); + CX_TEST_ASSERT(util_path_isrelated("/", "/test")); + CX_TEST_ASSERT(util_path_isrelated("/", "/test/")); + CX_TEST_ASSERT(util_path_isrelated("/", "/test/sub")); + CX_TEST_ASSERT(util_path_isrelated("/", "/test/sub/")); + CX_TEST_ASSERT(util_path_isrelated("/dir1/", "/dir1")); + CX_TEST_ASSERT(util_path_isrelated("/dir1/", "/dir1/")); + CX_TEST_ASSERT(util_path_isrelated("/abc/test/123/", "/abc/test/123")); + CX_TEST_ASSERT(util_path_isrelated("/abc/test/123/", "/abc/test/123/test/sub/")); + + CX_TEST_ASSERT(!util_path_isrelated("/dir1/", "/dir2/")); + CX_TEST_ASSERT(!util_path_isrelated("/dir1/", "/dir2")); + CX_TEST_ASSERT(!util_path_isrelated("/dir1", "/dir2/")); + CX_TEST_ASSERT(!util_path_isrelated("/abc/123/test1", "/abc/123/xxx")); + CX_TEST_ASSERT(!util_path_isrelated("/abc/123/test1", "/abc/zzz/123/")); + CX_TEST_ASSERT(!util_path_isrelated("/dir1/", "/")); + } +}