Subversion Repositories HelenOS

Rev

Rev 2674 | Rev 2707 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2674 Rev 2699
Line 1... Line 1...
1
/*
1
/*
2
 * Copyright (c) 2007 Jakub Jermar
2
 * Copyright (c) 2008 Jakub Jermar
3
 * All rights reserved.
3
 * All rights reserved.
4
 *
4
 *
5
 * Redistribution and use in source and binary forms, with or without
5
 * Redistribution and use in source and binary forms, with or without
6
 * modification, are permitted provided that the following conditions
6
 * modification, are permitted provided that the following conditions
7
 * are met:
7
 * are met:
Line 32... Line 32...
32
#include <string.h>
32
#include <string.h>
33
#include <sys/types.h>
33
#include <sys/types.h>
34
#include <vfs.h>
34
#include <vfs.h>
35
#include <unistd.h>
35
#include <unistd.h>
36
#include <fcntl.h>
36
#include <fcntl.h>
-
 
37
#include <dirent.h>
37
#include "../tester.h"
38
#include "../tester.h"
38
 
39
 
39
char *test_vfs1(bool quiet)
40
char *test_vfs1(bool quiet)
40
{
41
{
41
    if (mount("tmpfs", "/", "nulldev0") != EOK)
42
    if (mount("tmpfs", "/", "nulldev0") != EOK)
42
        return "Mount failed.\n";
43
        return "Mount failed.\n";
-
 
44
 
-
 
45
 
-
 
46
    DIR *dirp;
-
 
47
    struct dirent *dp;
-
 
48
 
-
 
49
    dirp = opendir("/");
-
 
50
    if (!dirp)
-
 
51
        return "opendir() failed.";
-
 
52
    while ((dp = readdir(dirp)))
-
 
53
        printf("Discovered %s\n", dp->d_name);
-
 
54
    closedir(dirp);
-
 
55
 
43
    int fd1 = open("/dir1/file1", 0);
56
    int fd1 = open("/dir1/file1", 0);
44
    int fd2 = open("/dir2/file2", 0);
57
    int fd2 = open("/dir2/file2", 0);
45
 
58
 
46
    if (fd1 < 0)
59
    if (fd1 < 0)
47
        return "Open failed.\n";
60
        return "open() failed.\n";
48
    if (fd2 < 0)
61
    if (fd2 < 0)
49
        return "Open failed.\n";
62
        return "open() failed.\n";
50
 
63
 
51
    if (!quiet)
64
    if (!quiet)
52
        printf("Opened file descriptors %d and %d.\n", fd1, fd2);
65
        printf("Opened file descriptors %d and %d.\n", fd1, fd2);
53
 
66
 
54
    char buf[10];
67
    char buf[10];
55
 
68
 
56
    ssize_t cnt = read(fd1, buf, sizeof(buf));
69
    ssize_t cnt = read(fd1, buf, sizeof(buf));
57
    if (cnt < 0)
70
    if (cnt < 0)
58
        return "Read failed.\n";
71
        return "read() failed.\n";
59
 
72
 
60
    if (!quiet)
73
    if (!quiet)
61
        printf("Read %d bytes: %.*s\n", cnt, cnt, buf);
74
        printf("Read %d bytes: %.*s\n", cnt, cnt, buf);
62
 
75
 
63
    return NULL;
76
    return NULL;