You need to sign in or sign up before continuing.
Newer
Older
char buf[2000];
char *echo_args[] = { "echo", "hello", "goodbye", 0 };
writetest(void)
{
int fd;
int i;
fd = open("small", O_CREATE|O_RDWR);
printf(stdout, "error: creat small failed!\n");
exit();
for(i = 0; i < 100; i++) {
if(write(fd, "aaaaaaaaaa", 10) != 10) {
printf(stdout, "error: write aa %d new file failed\n", i);
printf(stdout, "error: write bb %d new file failed\n", i);
printf(stdout, "error: open small failed!\n");
exit();
printf(stdout, "unlink small failed\n");
exit();
}
}
writetest1(void)
{
int i, fd, n;
printf(stdout, "big files\n");
fd = open("big", O_CREATE|O_RDWR);
if(fd < 0){
printf(stdout, "error: creat big failed!\n");
exit();
}
for(i = 0; i < MAXFILE; i++) {
((int*) buf)[0] = i;
if(write(fd, buf, 512) != 512) {
printf(stdout, "error: write big file failed\n", i);
exit();
}
}
close(fd);
fd = open("big", O_RDONLY);
if(fd < 0){
printf(stdout, "error: open big failed!\n");
exit();
}
n = 0;
printf(stdout, "read only %d blocks from big", n);
exit();
printf(stdout, "read failed %d\n", i);
exit();
}
if(((int*)buf)[0] != n) {
printf(stdout, "read content of block %d is %d\n", n, ((int*)buf)[0]);
printf(stdout, "unlink big failed\n");
exit();
}
}
void
createtest(void)
{
int i, fd;
name[1] = '0' + i;
fd = open(name, O_CREATE|O_RDWR);
close(fd);
}
name[0] = 'a';
name[2] = '\0';
printf(stdout, "chdir dir0 failed\n");
exit();
}
printf(stdout, "unlink dir0 failed\n");
exit();
}
}
void
exectest(void)
{
printf(stdout, "exec echo failed\n");
exit();
}
printf(stdout, "exec cat failed\n");
exit();
}
}
int
main(void)
{
printf(stdout, "userfs is running\n");
opentest();
writetest();
writetest1();
createtest();
exectest();