Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 2934 → Rev 3386

/branches/network/uspace/app/tester/vfs/vfs1.c
30,7 → 30,7
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <vfs.h>
#include <vfs/vfs.h>
#include <unistd.h>
#include <fcntl.h>
#include <dirent.h>
43,11 → 43,24
 
char *test_vfs1(bool quiet)
{
if (mount("tmpfs", "/", "nulldev0") != EOK)
return "mount() failed.\n";
if (!quiet)
printf("mounted tmpfs on /.\n");
int rc;
 
rc = mount("tmpfs", "/", "nulldev0");
switch (rc) {
case EOK:
if (!quiet)
printf("mounted tmpfs on /\n");
break;
case EBUSY:
if (!quiet)
printf("(INFO) something is already mounted on /\n");
break;
default:
if (!quiet)
printf("(INFO) IPC returned errno %d\n", rc);
return "mount() failed.";
}
 
if (mkdir("/mydir", 0) != 0)
return "mkdir() failed.\n";
if (!quiet)
73,23 → 86,57
 
char buf[10];
 
cnt = read(fd0, buf, sizeof(buf));
if (cnt < 0)
return "read() failed.\n";
while ((cnt = read(fd0, buf, sizeof(buf)))) {
if (cnt < 0)
return "read() failed.\n";
if (!quiet)
printf("read %d bytes: \"%.*s\", fd=%d\n", cnt, cnt,
buf, fd0);
}
 
if (!quiet)
printf("read %d bytes: \"%.*s\", fd=%d\n", cnt, cnt, buf, fd0);
close(fd0);
 
DIR *dirp;
struct dirent *dp;
 
if (!quiet)
printf("scanning the root directory...\n");
 
dirp = opendir("/");
if (!dirp)
return "opendir() failed.";
return "opendir() failed\n";
while ((dp = readdir(dirp)))
printf("discovered node %s in /\n", dp->d_name);
closedir(dirp);
 
if (rename("/mydir/myfile", "/mydir/yourfile"))
return "rename() failed.\n";
 
if (!quiet)
printf("renamed /mydir/myfile to /mydir/yourfile\n");
 
if (unlink("/mydir/yourfile"))
return "unlink() failed.\n";
if (!quiet)
printf("unlinked file /mydir/yourfile\n");
 
if (rmdir("/mydir"))
return "rmdir() failed.\n";
 
if (!quiet)
printf("removed directory /mydir\n");
if (!quiet)
printf("scanning the root directory...\n");
 
dirp = opendir("/");
if (!dirp)
return "opendir() failed\n";
while ((dp = readdir(dirp)))
printf("discovered node %s in /\n", dp->d_name);
closedir(dirp);
 
return NULL;
}