355 rq->vfs = create_test_pgvfs(sn, rq); |
355 rq->vfs = create_test_pgvfs(sn, rq); |
356 VFSContext *vfs = vfs_request_context(sn, rq); |
356 VFSContext *vfs = vfs_request_context(sn, rq); |
357 |
357 |
358 UCX_TEST_BEGIN; |
358 UCX_TEST_BEGIN; |
359 |
359 |
|
360 struct stat s; |
|
361 |
360 SYS_FILE f1 = vfs_open(vfs, "/test_mkdir/file", O_WRONLY|O_CREAT); |
362 SYS_FILE f1 = vfs_open(vfs, "/test_mkdir/file", O_WRONLY|O_CREAT); |
361 UCX_TEST_ASSERT(f1 == NULL, "open should fail"); |
363 UCX_TEST_ASSERT(f1 == NULL, "open should fail"); |
362 |
364 |
363 int r = vfs_mkdir(vfs, "/test_mkdir"); |
365 int r = vfs_mkdir(vfs, "/test_mkdir"); |
364 UCX_TEST_ASSERT(r == 0, "mkdir failed"); |
366 UCX_TEST_ASSERT(r == 0, "mkdir failed"); |
365 |
367 |
|
368 r = vfs_stat(vfs, "/test_mkdir", &s); |
|
369 UCX_TEST_ASSERT(r == 0, "stat (1) failed"); |
|
370 |
|
371 UCX_TEST_ASSERT(S_ISDIR(s.st_mode), "/test_mkdir is not a directory"); |
|
372 |
366 f1 = vfs_open(vfs, "/test_mkdir/file", O_WRONLY|O_CREAT); |
373 f1 = vfs_open(vfs, "/test_mkdir/file", O_WRONLY|O_CREAT); |
|
374 vfs_close(f1); |
367 UCX_TEST_ASSERT(f1, "open failed"); |
375 UCX_TEST_ASSERT(f1, "open failed"); |
368 |
376 |
|
377 r = vfs_stat(vfs, "/test_mkdir/file", &s); |
|
378 UCX_TEST_ASSERT(r == 0, "stat (2) failed"); |
|
379 |
369 r = vfs_mkdir(vfs, "/test_mkdir/test_sub"); |
380 r = vfs_mkdir(vfs, "/test_mkdir/test_sub"); |
370 UCX_TEST_ASSERT(r == 0, "mkdir failed (2)"); |
381 UCX_TEST_ASSERT(r == 0, "mkdir failed (2)"); |
|
382 |
|
383 r = vfs_stat(vfs, "/test_mkdir/test_sub", &s); |
|
384 UCX_TEST_ASSERT(r == 0, "stat (3) failed"); |
|
385 UCX_TEST_ASSERT(S_ISDIR(s.st_mode), "/test_mkdir/test_sub is not a directory"); |
|
386 |
|
387 r = vfs_mkdir(vfs, "/test_mkdir/test_sub/test_sub2/"); |
|
388 UCX_TEST_ASSERT(r == 0, "mkdir failed (4)"); |
|
389 |
|
390 r = vfs_stat(vfs, "/test_mkdir/test_sub/test_sub2/", &s); |
|
391 UCX_TEST_ASSERT(r == 0, "stat (4) failed"); |
|
392 UCX_TEST_ASSERT(S_ISDIR(s.st_mode), "/test_mkdir/test_sub/test_sub2/ is not a directory"); |
371 |
393 |
372 UCX_TEST_END; |
394 UCX_TEST_END; |
373 |
395 |
374 testutil_destroy_session(sn); |
396 testutil_destroy_session(sn); |
375 } |
397 } |