--- a/src/server/plugins/postgresql/pgtest.c Mon May 09 20:56:44 2022 +0200 +++ b/src/server/plugins/postgresql/pgtest.c Tue May 10 19:13:01 2022 +0200 @@ -357,18 +357,40 @@ UCX_TEST_BEGIN; + struct stat s; + SYS_FILE f1 = vfs_open(vfs, "/test_mkdir/file", O_WRONLY|O_CREAT); UCX_TEST_ASSERT(f1 == NULL, "open should fail"); int r = vfs_mkdir(vfs, "/test_mkdir"); UCX_TEST_ASSERT(r == 0, "mkdir failed"); + r = vfs_stat(vfs, "/test_mkdir", &s); + UCX_TEST_ASSERT(r == 0, "stat (1) failed"); + + UCX_TEST_ASSERT(S_ISDIR(s.st_mode), "/test_mkdir is not a directory"); + f1 = vfs_open(vfs, "/test_mkdir/file", O_WRONLY|O_CREAT); + vfs_close(f1); UCX_TEST_ASSERT(f1, "open failed"); + r = vfs_stat(vfs, "/test_mkdir/file", &s); + UCX_TEST_ASSERT(r == 0, "stat (2) failed"); + r = vfs_mkdir(vfs, "/test_mkdir/test_sub"); UCX_TEST_ASSERT(r == 0, "mkdir failed (2)"); + r = vfs_stat(vfs, "/test_mkdir/test_sub", &s); + UCX_TEST_ASSERT(r == 0, "stat (3) failed"); + UCX_TEST_ASSERT(S_ISDIR(s.st_mode), "/test_mkdir/test_sub is not a directory"); + + r = vfs_mkdir(vfs, "/test_mkdir/test_sub/test_sub2/"); + UCX_TEST_ASSERT(r == 0, "mkdir failed (4)"); + + r = vfs_stat(vfs, "/test_mkdir/test_sub/test_sub2/", &s); + UCX_TEST_ASSERT(r == 0, "stat (4) failed"); + UCX_TEST_ASSERT(S_ISDIR(s.st_mode), "/test_mkdir/test_sub/test_sub2/ is not a directory"); + UCX_TEST_END; testutil_destroy_session(sn);