diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2011-08-01 21:54:19 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2011-08-01 21:54:19 +0000 |
commit | a7c39d3d3fb4a529b29d432b81769617093965d8 (patch) | |
tree | d63d59fe676604f9095b3b742a1759c28d220f68 | |
parent | 2011-08-01 Xiang Cui <medivhc@gmail.com> (diff) | |
download | rtems-a7c39d3d3fb4a529b29d432b81769617093965d8.tar.bz2 |
2011-08-01 Xiang Cui <medivhc@gmail.com>
* imfs_fslink/Makefile.am, imfs_fssymlink/Makefile.am,
mimfs_fslink/Makefile.am, mimfs_fssymlink/Makefile.am,
mrfs_fslink/Makefile.am, mrfs_fssymlink/Makefile.am,
mrfs_support/fs_config.h: Correcting from previous commit of
incorrect tarball.
* fserror/fserror.doc, fserror/test.c, fspatheval/patheval.doc,
fspatheval/test.c, fspermission/fspermission.doc,
fspermission/test.c, fsrdwr/fsrdwr.doc, fsrdwr/init.c,
fstime/fstime.doc, fstime/test.c, imfs_fserror/.cvsignore,
imfs_fserror/Makefile.am, imfs_fslink/.cvsignore,
imfs_fspatheval/.cvsignore, imfs_fspatheval/Makefile.am,
imfs_fspermission/.cvsignore, imfs_fspermission/Makefile.am,
imfs_fsrdwr/.cvsignore, imfs_fsrdwr/Makefile.am,
imfs_fssymlink/.cvsignore, imfs_fstime/.cvsignore,
imfs_fstime/Makefile.am, imfs_support/fs_supprot.h,
mdosfs_fserror/.cvsignore, mdosfs_fserror/Makefile.am,
mdosfs_fspatheval/.cvsignore, mdosfs_fspatheval/Makefile.am,
mdosfs_fsrdwr/.cvsignore, mdosfs_fsrdwr/Makefile.am,
mdosfs_fstime/.cvsignore, mdosfs_fstime/Makefile.am,
mimfs_fserror/.cvsignore, mimfs_fserror/Makefile.am,
mimfs_fslink/.cvsignore, mimfs_fspatheval/.cvsignore,
mimfs_fspatheval/Makefile.am, mimfs_fspermission/.cvsignore,
mimfs_fspermission/Makefile.am, mimfs_fsrdwr/.cvsignore,
mimfs_fsrdwr/Makefile.am, mimfs_fssymlink/.cvsignore,
mimfs_fstime/.cvsignore, mimfs_fstime/Makefile.am,
mrfs_fserror/.cvsignore, mrfs_fserror/Makefile.am,
mrfs_fslink/.cvsignore, mrfs_fspatheval/.cvsignore,
mrfs_fspatheval/Makefile.am, mrfs_fspermission/.cvsignore,
mrfs_fspermission/Makefile.am, mrfs_fsrdwr/.cvsignore,
mrfs_fsrdwr/Makefile.am, mrfs_fssymlink/.cvsignore,
mrfs_fstime/.cvsignore, mrfs_fstime/Makefile.am: New files.
62 files changed, 2845 insertions, 27 deletions
diff --git a/testsuites/fstests/ChangeLog b/testsuites/fstests/ChangeLog index d17d8234a1..622e6bb1c8 100644 --- a/testsuites/fstests/ChangeLog +++ b/testsuites/fstests/ChangeLog @@ -1,5 +1,39 @@ 2011-08-01 Xiang Cui <medivhc@gmail.com> + * imfs_fslink/Makefile.am, imfs_fssymlink/Makefile.am, + mimfs_fslink/Makefile.am, mimfs_fssymlink/Makefile.am, + mrfs_fslink/Makefile.am, mrfs_fssymlink/Makefile.am, + mrfs_support/fs_config.h: Correcting from previous commit of + incorrect tarball. + * fserror/fserror.doc, fserror/test.c, fspatheval/patheval.doc, + fspatheval/test.c, fspermission/fspermission.doc, + fspermission/test.c, fsrdwr/fsrdwr.doc, fsrdwr/init.c, + fstime/fstime.doc, fstime/test.c, imfs_fserror/.cvsignore, + imfs_fserror/Makefile.am, imfs_fslink/.cvsignore, + imfs_fspatheval/.cvsignore, imfs_fspatheval/Makefile.am, + imfs_fspermission/.cvsignore, imfs_fspermission/Makefile.am, + imfs_fsrdwr/.cvsignore, imfs_fsrdwr/Makefile.am, + imfs_fssymlink/.cvsignore, imfs_fstime/.cvsignore, + imfs_fstime/Makefile.am, imfs_support/fs_supprot.h, + mdosfs_fserror/.cvsignore, mdosfs_fserror/Makefile.am, + mdosfs_fspatheval/.cvsignore, mdosfs_fspatheval/Makefile.am, + mdosfs_fsrdwr/.cvsignore, mdosfs_fsrdwr/Makefile.am, + mdosfs_fstime/.cvsignore, mdosfs_fstime/Makefile.am, + mimfs_fserror/.cvsignore, mimfs_fserror/Makefile.am, + mimfs_fslink/.cvsignore, mimfs_fspatheval/.cvsignore, + mimfs_fspatheval/Makefile.am, mimfs_fspermission/.cvsignore, + mimfs_fspermission/Makefile.am, mimfs_fsrdwr/.cvsignore, + mimfs_fsrdwr/Makefile.am, mimfs_fssymlink/.cvsignore, + mimfs_fstime/.cvsignore, mimfs_fstime/Makefile.am, + mrfs_fserror/.cvsignore, mrfs_fserror/Makefile.am, + mrfs_fslink/.cvsignore, mrfs_fspatheval/.cvsignore, + mrfs_fspatheval/Makefile.am, mrfs_fspermission/.cvsignore, + mrfs_fspermission/Makefile.am, mrfs_fsrdwr/.cvsignore, + mrfs_fsrdwr/Makefile.am, mrfs_fssymlink/.cvsignore, + mrfs_fstime/.cvsignore, mrfs_fstime/Makefile.am: New files. + +2011-08-01 Xiang Cui <medivhc@gmail.com> + * Makefile.am, configure.ac, fslink/fslink.doc, fslink/test.c, fssymlink/test.c, imfs_fslink/Makefile.am, imfs_fssymlink/Makefile.am, imfs_support/fs_config.h, diff --git a/testsuites/fstests/fserror/fserror.doc b/testsuites/fstests/fserror/fserror.doc new file mode 100644 index 0000000000..bd15afdaa8 --- /dev/null +++ b/testsuites/fstests/fserror/fserror.doc @@ -0,0 +1,27 @@ +# +# $Id$ +# +# COPYRIGHT (c) 1989-2009. +# On-Line Applications Research Corporation (OAR). +# +# The license and distribution terms for this file may be +# found in the file LICENSE in this distribution or at +# http://www.rtems.com/license/LICENSE. +# + +This file describes the directives and concepts tested by this test set. + +test set name: fserror + +directives: ++ open ++ write ++ read ++ mkdir ++ unlink ++ rmdir + +concepts: + ++ Exercise the tests to make them fail and check the errno + diff --git a/testsuites/fstests/fserror/test.c b/testsuites/fstests/fserror/test.c new file mode 100644 index 0000000000..d30eb5c6d9 --- /dev/null +++ b/testsuites/fstests/fserror/test.c @@ -0,0 +1,372 @@ +/* + * COPYRIGHT (c) 1989-2011. + * On-Line Applications Research Corporation (OAR). + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + * + * $Id Exp $ + */ + +#include <sys/stat.h> +#include <limits.h> +#include <fcntl.h> +#include <errno.h> +#include <stdio.h> +#include <stdint.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> + +#include "fstest.h" + +void open_mkdir_error (void) +{ + int fd; + int status; + char *name01 = "name01"; + char *name02 = "name02"; + char *name03 = "name03"; + + char name[20]; + + mode_t mode = S_IRWXU | S_IRWXG | S_IRWXO; + + const char *wd = __func__; + + /* + * Create a new directory and change the current directory to this + */ + status = mkdir (wd, mode); + rtems_test_assert (status == 0); + status = chdir (wd); + rtems_test_assert (status == 0); + + + /* + * Create a file and a directory for test. + */ + fd = creat (name01, mode); + status = close (fd); + rtems_test_assert (status == 0); + status = mkdir (name02, mode); + rtems_test_assert (status == 0); + + /* + * O_CREAT and O_EXCL are set, and the named file exists. + */ + EXPECT_ERROR (EEXIST, open, name01, O_CREAT | O_EXCL); + + EXPECT_ERROR (EEXIST, mkdir, name01, mode); + /* + * The named file is a directory + * and oflag includes O_WRONLY or O_RDWR. + */ + EXPECT_ERROR (EISDIR, open, name02, O_WRONLY); + EXPECT_ERROR (EISDIR, open, name02, O_RDWR); + + /* + * O_CREAT is not set and the named file does not exist + * or O_CREAT is set and either the path prefix does not exist or + * the path argument points to an empty string. + */ + + sprintf (name, "%s/%s", name03, name02); + EXPECT_ERROR (ENOENT, open, name, O_WRONLY); + EXPECT_ERROR (ENOENT, open, "", O_WRONLY); + EXPECT_ERROR (ENOENT, open, name03, O_WRONLY); + + EXPECT_ERROR (ENOENT, mkdir, name, mode); + EXPECT_ERROR (ENOENT, mkdir, "", mode); + + /* + * A component of the path prefix is not a directory. + */ + + sprintf (name, "%s/%s", name01, name02); + EXPECT_ERROR (ENOTDIR, open, name, O_WRONLY); + + EXPECT_ERROR (ENOTDIR, mkdir, name, mode); + /* + * The fildes argument is not a valid file descriptor. + */ + EXPECT_ERROR (EBADF, close, -1); + EXPECT_ERROR (EBADF, close, 100); + + /* + * Go back to parent directory + */ + status = chdir (".."); + rtems_test_assert (status == 0); + +} + +void rename_error (void) +{ + + int fd; + int status; + char *name01 = "name01"; + char *name02 = "name02"; + char *name03 = "name03"; + char *nonexistence = "name04"; + + char name[20]; + + mode_t mode = S_IRWXU | S_IRWXG | S_IRWXO; + const char *wd = __func__; + + /* + *Create a new directory and change the current directory to this + */ + + status = mkdir (wd, mode); + rtems_test_assert (status == 0); + status = chdir (wd); + rtems_test_assert (status == 0); + + + /* + * Create a new directory and a new directory in it + */ + + status = mkdir (name01, mode); + rtems_test_assert (status == 0); + status = mkdir (name02, mode); + rtems_test_assert (status == 0); + sprintf (name, "%s/%s", name01, name03); + status = mkdir (name, mode); + rtems_test_assert (status == 0); + + /* + * The link named by new is a directory that is + * not an empty directory. + */ + status = rename (name02, name01); + rtems_test_assert (status != 0); + rtems_test_assert (errno == EEXIST || errno == ENOTEMPTY); + /* + * The new directory pathname contains a path prefix + * that names the old directory. + */ + EXPECT_ERROR (EINVAL, rename, name01, name); + /* + * The new argument points to a directory and + * the old argument points to a file that is not a directory. + */ + fd = creat (name03, mode); + status = close (fd); + rtems_test_assert (status == 0); + EXPECT_ERROR (EISDIR, rename, name03, name02); + + /* + * The link named by old does not name an existing file, + * or either old or new points to an empty string. + */ + + EXPECT_ERROR (ENOENT, rename, nonexistence, name01); + EXPECT_ERROR (ENOENT, rename, "", name01); + EXPECT_ERROR (ENOENT, rename, name01, ""); + + /* + * A component of either path prefix is not a directory; + * or the old argument names a directory and new argument names + * a non-directory file. + */ + + sprintf (name, "%s/%s", name03, name01); + EXPECT_ERROR (ENOTDIR, rename, name, name03); + EXPECT_ERROR (ENOTDIR, rename, name03, name); + EXPECT_ERROR (ENOTDIR, rename, name02, name03); + + /* + * Go back to parent directory + */ + status = chdir (".."); + rtems_test_assert (status == 0); +} + +void truncate_error (void) +{ + + int fd; + int status; + char *file = "name"; + + mode_t mode = S_IRWXU | S_IRWXG | S_IRWXO; + + const char *wd = __func__; + + /* + *Create a new directory and change the current directory to this + */ + status = mkdir (wd, mode); + rtems_test_assert (status == 0); + status = chdir (wd); + rtems_test_assert (status == 0); + /* + * Create a file + */ + fd = creat (file, mode); + status = close (fd); + rtems_test_assert (status == 0); + + + /* + * The length argument was less than 0. + */ + EXPECT_ERROR (EINVAL, truncate, file, -1); + + /* + * Go back to parent directory + */ + status = chdir (".."); + rtems_test_assert (status == 0); +} + + +void rmdir_unlink_error (void) +{ + int status; + int fd; + mode_t mode = S_IRWXU | S_IRWXG | S_IRWXO; + char *nonexistence = "name04"; + + const char *wd = __func__; + + /* + * Create a new directory and change the current directory to this + */ + status = mkdir (wd, mode); + rtems_test_assert (status == 0); + status = chdir (wd); + rtems_test_assert (status == 0); + + /* + * Create a new directory and a file in it for test + */ + status = mkdir ("tmp", mode); + rtems_test_assert (status == 0); + fd = creat ("tmp/file", mode); + status = close (fd); + rtems_test_assert (status == 0); + + + + /* + * The path argument names a directory that is not an empty directory, + * or there are hard links to the directory other than dot or a single entry in dot-dot. + */ + + EXPECT_ERROR (ENOTEMPTY, rmdir, ".."); + EXPECT_ERROR (ENOTEMPTY, rmdir, "tmp"); + + + /* + * The path argument contains a last component that is dot. + */ + + + EXPECT_ERROR (EINVAL, rmdir, "."); + EXPECT_ERROR (EINVAL, rmdir, "tmp/."); + + /* + * A component of path does not name an existing file, + * or the path argument names a nonexistent directory or points to an empty string + */ + EXPECT_ERROR (ENOENT, rmdir, ""); + EXPECT_ERROR (ENOENT, rmdir, nonexistence); + + EXPECT_ERROR (ENOENT, unlink, ""); + EXPECT_ERROR (ENOENT, unlink, nonexistence); + + /* + * component of path is not a directory. + */ + + EXPECT_ERROR (ENOTDIR, rmdir, "tmp/file"); + + EXPECT_ERROR (ENOTDIR, unlink, "tmp/file/dir"); + /* + * Go back to parent directory + */ + status = chdir (".."); + rtems_test_assert (status == 0); + + +} + +void rdwr_error (void) +{ + + int status; + int fd; + char *file01 = "name01"; + char *databuf = "test"; + char *readbuf[10]; + + + mode_t mode = S_IRWXU | S_IRWXG | S_IRWXO; + const char *wd = __func__; + + /* + * Create a new directory and change the current directory to this + */ + status = mkdir (wd, mode); + rtems_test_assert (status == 0); + status = chdir (wd); + rtems_test_assert (status == 0); + + fd = open (file01, O_WRONLY | O_CREAT, mode); + + /* + * The fildes argument is not a valid file descriptor open for reading. + */ + + EXPECT_ERROR (EBADF, read, fd, readbuf, 10); + EXPECT_ERROR (EBADF, read, 100, readbuf, 10); + + status = close (fd); + rtems_test_assert (status == 0); + /* + * The fildes argument is not a valid file descriptor open for writing. + */ + fd = open (file01, O_RDONLY, mode); + + EXPECT_ERROR (EBADF, write, fd, databuf, 10); + EXPECT_ERROR (EBADF, write, 100, readbuf, 10); + + /* + * The whence argument is not a proper value, + * or the resulting file offset would be negative for a regular file, + * block special file, or directory. + */ + + EXPECT_ERROR (EINVAL, lseek, fd, -100, SEEK_END); + EXPECT_ERROR (EINVAL, lseek, fd, -100, SEEK_CUR); + EXPECT_ERROR (EINVAL, lseek, fd, -100, SEEK_SET); + + status = close (fd); + rtems_test_assert (status == 0); + + EXPECT_ERROR (EBADF, lseek, fd, -100, SEEK_SET); + /* + * Go back to parent directory + */ + status = chdir (".."); + rtems_test_assert (status == 0); + +} + +void test (void) +{ + + puts ("\n\n*** ERROR TEST ***"); + open_mkdir_error (); + rename_error (); + truncate_error (); + rmdir_unlink_error (); + rdwr_error (); + puts ("*** END OF ERROR TEST ***"); +} diff --git a/testsuites/fstests/fspatheval/patheval.doc b/testsuites/fstests/fspatheval/patheval.doc new file mode 100644 index 0000000000..cd031ad4b1 --- /dev/null +++ b/testsuites/fstests/fspatheval/patheval.doc @@ -0,0 +1,26 @@ +# +# $Id$ +# +# COPYRIGHT (c) 1989-2009. +# On-Line Applications Research Corporation (OAR). +# +# The license and distribution terms for this file may be +# found in the file LICENSE in this distribution or at +# http://www.rtems.com/license/LICENSE. +# + +This file describes the directives and concepts tested by this test set. + +test set name: fspatheval + +directives: + ++ open ++ unlink ++ mkdir ++ rmdir + +concepts: + ++ Create directories and files to check the path evaluation + diff --git a/testsuites/fstests/fspatheval/test.c b/testsuites/fstests/fspatheval/test.c new file mode 100644 index 0000000000..ffe0a311fa --- /dev/null +++ b/testsuites/fstests/fspatheval/test.c @@ -0,0 +1,187 @@ +/* + * COPYRIGHT (c) 1989-2011. + * On-Line Applications Research Corporation (OAR). + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + * + * $Id Exp $ + */ +#include <sys/stat.h> +#include <fcntl.h> +#include <errno.h> +#include <stdio.h> +#include <stdint.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> + +#include "fstest.h" + +#define BUF_SIZE 100 + +void make_multiple_files (char **files,int is_directory) +{ + int i; + int status; + int fd; + + i = 0; + if (is_directory){ + while (files[i]) { + printf ("Making directory %s\n", files[i]); + status = mkdir (files[i], S_IRWXU); + rtems_test_assert (!status); + i++; + } + }else { + while (files[i]) { + printf ("Create file %s\n", files[i]); + fd=creat(files[i],S_IRWXU); + status=close(fd); + rtems_test_assert (!status); + i++; + } + } + + puts (""); +} + +void remove_multiple_files (char **files,int is_directory) +{ + int i; + int status; + + i = 0; + while (files[i]) { + i++; + } + + if (is_directory){ + while (i) { + i--; + printf ("Removing directory %s\n", files[i]); + status = rmdir (files[i]); + rtems_test_assert (!status); + } + }else { + while (i) { + i--; + printf ("Removing file %s\n", files[i]); + status = unlink (files[i]); + rtems_test_assert (!status); + } + } + + puts (""); +} + +void path_eval_test01 (void) +{ + char *valid_path[] = { + "/test1/", + "tets2", + "///test3", + "test4////", + "../../test5", + "/test1/../test6", + "./test7/", + ".././test8", + "test8/./../test9", + "///test9/../test10", + 0 + }; + char *valid_file[]={ + "/test1", + "tets2", + "///test3", + "test4", + "../../test5", + "/../test6", + "./test7", + ".././test8", + "/./../test9", + "//../test10", + 0 + }; + + char *valid_relative_path[]={ + "test1", + "tets2", + "test3", + "test4", + "test5", + "test6", + "test7", + "test8", + "test9", + "test10", + 0 + + }; + + char *valid_name[] = { + "!#$%&()-@^_`{}~'", + "0_1_A", + "aaa bbb", + "ccc....ddd", + " fff", + 0 + }; + + + make_multiple_files(valid_path,1); + make_multiple_files (valid_name,1); + + remove_multiple_files(valid_relative_path,1); + remove_multiple_files(valid_name,1); + + make_multiple_files(valid_file,0); + make_multiple_files (valid_name,0); + + remove_multiple_files(valid_relative_path,0); + remove_multiple_files(valid_name,0); + +} +void path_eval_test02(void ) +{ + + int status; + char buf[BUF_SIZE]; + char* cwd; + + mode_t mode = S_IRWXU|S_IRWXG|S_IRWXO; + puts("mkdir /tmp/a/b"); + status=mkdir("/tmp",mode); + rtems_test_assert(status==0); + status=mkdir("/tmp/a",mode); + rtems_test_assert(status==0); + status=mkdir("/tmp/a/b",mode); + rtems_test_assert(status==0); + + cwd=getcwd(buf,BUF_SIZE); + rtems_test_assert(cwd!=NULL); + + puts("cd /tmp"); + status=chdir("/tmp"); + rtems_test_assert(status==0); + + status=chdir("a/b"); + rtems_test_assert(status==0); + + status=chdir("../b"); + rtems_test_assert(status==0); + + status=chdir("../b/."); + rtems_test_assert(status==0); + +} + +void test (void ) +{ + puts( "\n\n*** PATH EVALUATION TEST ***" ); + path_eval_test01(); + path_eval_test02(); + puts( "*** END OF PATH EVALUATION TEST ***" ); +} diff --git a/testsuites/fstests/fspermission/fspermission.doc b/testsuites/fstests/fspermission/fspermission.doc new file mode 100644 index 0000000000..f9c3562315 --- /dev/null +++ b/testsuites/fstests/fspermission/fspermission.doc @@ -0,0 +1,28 @@ +# +# $Id$ +# +# COPYRIGHT (c) 1989-2009. +# On-Line Applications Research Corporation (OAR). +# +# The license and distribution terms for this file may be +# found in the file LICENSE in this distribution or at +# http://www.rtems.com/license/LICENSE. +# + +This file describes the directives and concepts tested by this test set. + +test set name: + +directives: + ++ open ++ write ++ read ++ chmod ++ chown ++ umask + +concepts: + ++ Check if the file permission takes effect + diff --git a/testsuites/fstests/fspermission/test.c b/testsuites/fstests/fspermission/test.c new file mode 100644 index 0000000000..4750e6d77e --- /dev/null +++ b/testsuites/fstests/fspermission/test.c @@ -0,0 +1,478 @@ + +/* + * COPYRIGHT (c) 1989-2011. + * On-Line Applications Research Corporation (OAR). + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + * + * $Id Exp $ + */ + +#include <sys/stat.h> +#include <fcntl.h> +#include <errno.h> +#include <string.h> +#include <stdio.h> +#include <stdlib.h> +#include <stdint.h> +#include <dirent.h> +#include <unistd.h> + +#include "fstest.h" + +/* + * Test the umask + */ +void umask_test01(void ) +{ + + mode_t previous_cmask; + mode_t tmp_mode; + mode_t file_mode; + struct stat statbuf; + int status = 0; + int fd; + + char* file01="file01"; + char* file02="file02"; + char* directory01="dir01"; + + const char* wd=__func__; + + mode_t mode=S_IRWXU|S_IRWXG|S_IRWXO ; + + + + /* + *Create a new directory and change the current directory to this + */ + status=mkdir(wd,mode); + rtems_test_assert(status==0); + status=chdir(wd); + rtems_test_assert(status==0); + +/* + * + * Call open creat and mkdir to create new files and directory + */ + fd=open(file01,O_CREAT|O_RDWR,mode); + status=close(fd); + rtems_test_assert(status==0); + + fd=creat(file02,mode); + status=close(fd); + rtems_test_assert(status==0); + + status=mkdir(directory01,mode); + rtems_test_assert(status==0); + + + /* + *Get the previous cmask and set it to a new one + */ + previous_cmask = umask (0321); + printf("The previous cmask is %03o\n",(unsigned int)previous_cmask); + file_mode= mode & ~previous_cmask; + + status = stat (file01, &statbuf); + rtems_test_assert (status == 0); + tmp_mode = (statbuf.st_mode) & ALLPERMS; + printf("The file mode of %s is %03o\n",file01,(unsigned int)tmp_mode); + rtems_test_assert(tmp_mode==file_mode); + + + status = stat (file02, &statbuf); + rtems_test_assert (status == 0); + tmp_mode = (statbuf.st_mode) & ALLPERMS; + printf("The file mode of %s is %03o\n",file02,(unsigned int)tmp_mode); + rtems_test_assert(tmp_mode==file_mode); + + status = stat (directory01, &statbuf); + rtems_test_assert (status == 0); + tmp_mode = (statbuf.st_mode) & ALLPERMS; + printf("The file mode of %s is %03o\n",directory01,(unsigned int)tmp_mode); + rtems_test_assert(tmp_mode==file_mode); + + /* + *Remove them and recreate them with the same mode + */ + + status=unlink(file01); + rtems_test_assert(status==0); + fd=open(file01,O_CREAT|O_RDWR,mode); + status=close(fd); + rtems_test_assert(status==0); + + status=unlink(file02); + rtems_test_assert(status==0); + fd=creat(file02,mode); + status=close(fd); + rtems_test_assert(status==0); + + status=rmdir(directory01); + rtems_test_assert(status==0); + status=mkdir(directory01,mode); + rtems_test_assert(status==0); + + /* + *Check the file mode + */ + + previous_cmask = umask (00); + printf("The previous cmask is %03o\n",(unsigned int)previous_cmask); + file_mode= mode & ~previous_cmask; + + status = stat (file01, &statbuf); + rtems_test_assert (status == 0); + tmp_mode = (statbuf.st_mode) & ALLPERMS; + printf("The file mode of %s is %03o\n",file01,(unsigned int)tmp_mode); + rtems_test_assert(tmp_mode==file_mode); + + + status = stat (file02, &statbuf); + rtems_test_assert (status == 0); + tmp_mode = (statbuf.st_mode) & ALLPERMS; + printf("The file mode of %s is %03o\n",file02,(unsigned int)tmp_mode); + rtems_test_assert(tmp_mode==file_mode); + + status = stat (directory01, &statbuf); + rtems_test_assert (status == 0); + tmp_mode = (statbuf.st_mode) & ALLPERMS; + printf("The file mode of %s is %03o\n",directory01,(unsigned int)tmp_mode); + rtems_test_assert(tmp_mode==file_mode); + + /* + * Go back to parent directory + */ + status=chdir(".."); + rtems_test_assert(status==0); + +} +/* + * Check the file mode in file and directory + */ +void test_premission01(void ) +{ + mode_t tmp_mode; + struct stat statbuf; + int status = 0; + int fd; + + char* file01="file01"; + char* file02="file02"; + char* directory01="dir01"; + + char path[20]; + char* test_data="Test Data"; + char* data_buf; + size_t len=strlen(test_data); + + int n; + DIR *dp; + + const char* wd=__func__; + + mode_t mode=S_IRWXU|S_IRWXG|S_IRWXO ; + uid_t user_id =65534; + gid_t group_id =65534; + + uid_t another_user_id =65533; + gid_t another_group_id =65533; + + + /* + *Create a new directory and change the current directory to this + */ + umask(00); + status=mkdir(wd,mode); + rtems_test_assert(status==0); + status=chdir(wd); + rtems_test_assert(status==0); + + status=setgid(group_id); + rtems_test_assert(status==0); + status=seteuid(user_id); + rtems_test_assert(status==0); + status=seteuid(user_id); + rtems_test_assert(status==0); + + + /* + *Create a file with mode 0777 + */ + fd=creat(file01,mode); + status=close(fd); + rtems_test_assert(status==0); + /* + *Create a file with mode 0240 + */ + + fd=creat(file02,0240); + status=close(fd); + rtems_test_assert(status==0); + + + /* + *Check the file mode uid and gid + */ + status = stat (file01, &statbuf); + rtems_test_assert (status == 0); + tmp_mode = (statbuf.st_mode) & ALLPERMS; + printf("The file mode of %s is %03o\n",file01,(unsigned int)tmp_mode); + rtems_test_assert(tmp_mode==mode); + rtems_test_assert(statbuf.st_uid==user_id); + rtems_test_assert(statbuf.st_gid==group_id); + + status = stat (file02, &statbuf); + rtems_test_assert (status == 0); + tmp_mode = (statbuf.st_mode) & ALLPERMS; + printf("The file mode of %s is %03o\n",file02,(unsigned int)tmp_mode); + rtems_test_assert(tmp_mode==0240); + rtems_test_assert(statbuf.st_uid==user_id); + rtems_test_assert(statbuf.st_gid==group_id); + + /* + * Create directory and a file in it for tese + */ + + status=mkdir(directory01,0777); + rtems_test_assert(status==0); + sprintf(path,"%s/%s",directory01,file01); + fd=creat(path,0777); + + status=chmod(directory01,0340); + rtems_test_assert (status == 0); + status = stat (directory01, &statbuf); + rtems_test_assert (status == 0); + tmp_mode = (statbuf.st_mode) & ALLPERMS; + printf("The file mode of %s is %03o\n",directory01,(unsigned int)tmp_mode); + rtems_test_assert(tmp_mode==0340); + rtems_test_assert(statbuf.st_uid==user_id); + rtems_test_assert(statbuf.st_gid==group_id); + + /* + * Check the file with open and write + */ + + /* + * Test write + */ + fd=open(file01,O_WRONLY); + n=write(fd,test_data,len); + rtems_test_assert(n==len); + status=close(fd); + rtems_test_assert(status==0); + + fd=open(file02,O_WRONLY); + n=write(fd,test_data,len); + rtems_test_assert(n==len); + status=close(fd); + rtems_test_assert(status==0); + + /* + * Test read + */ + data_buf=(char*)malloc(len+1); + fd=open(file01,O_RDWR); + rtems_test_assert(fd!=-1); + n=read(fd,data_buf,len); + rtems_test_assert(n==len); + status=close(fd); + rtems_test_assert(status==0); + + EXPECT_ERROR(EACCES,open,file02,O_RDONLY); + EXPECT_ERROR(EACCES,open,file02,O_RDWR); + + /* + * Test read directory + */ + dp= opendir(directory01); + rtems_test_assert(dp==NULL); + rtems_test_assert(errno==EACCES); + + /* + * Test write directory + */ + status = lstat (path, &statbuf); + rtems_test_assert (status == 0); + + status=unlink(path); + rtems_test_assert(status==0); + + + /* + * Change euid and check + */ + puts("Change euid and check"); + status=seteuid(0); + rtems_test_assert(status==0); + + status=seteuid(another_user_id); + rtems_test_assert(status==0); + + fd=open(file01,O_WRONLY); + n=write(fd,test_data,len); + rtems_test_assert(n==len); + status=close(fd); + rtems_test_assert(status==0); + + EXPECT_ERROR(EACCES,open,file02,O_WRONLY); + EXPECT_ERROR(EACCES,open,file02,O_RDWR); + + /* + * Test read directory + */ + dp= opendir(directory01); + rtems_test_assert(dp!=NULL); + status=closedir(dp); + rtems_test_assert(status==0); + + /* + * Test write directory + */ + EXPECT_ERROR(EACCES,creat,path,mode); + EXPECT_ERROR(EACCES,rename,path,"test"); + EXPECT_ERROR(EACCES,truncate,path,0); + EXPECT_ERROR(EACCES,link,path,"test"); + EXPECT_ERROR(EACCES,unlink,path); + /* + * Change egid and check + */ + puts("Change egid and check"); + status=seteuid(0); + rtems_test_assert(status==0); + + status=setgid(another_group_id); + rtems_test_assert(status==0); + + status=seteuid(another_user_id); + rtems_test_assert(status==0); + + EXPECT_ERROR(EACCES,open,file02,O_WRONLY); + EXPECT_ERROR(EACCES,open,file02,O_RDONLY); + EXPECT_ERROR(EACCES,open,file02,O_RDWR); + + /* + * Test read directory + */ + dp= opendir(directory01); + rtems_test_assert(dp==NULL); + rtems_test_assert(errno==EACCES); + + /* + * Test write directory + */ + EXPECT_ERROR(EACCES,creat,path,mode); + + /* + * Go back to parent directory + */ + status=seteuid(0); + rtems_test_assert(status==0); + status=setgid(0); + rtems_test_assert(status==0); + free(data_buf); + + status=chdir(".."); + rtems_test_assert(status==0); +} + +/* + * Test chown and chmod + */ +void test_premission02(void ) +{ + struct stat statbuf; + int status = 0; + int fd; + + char* file01="file01"; + char* directory01="dir01"; + + mode_t tmp_mode; + mode_t file_mode=0321; + + const char* wd=__func__; + + mode_t mode=S_IRWXU|S_IRWXG|S_IRWXO ; + uid_t user_id =65534; + gid_t group_id =65534; + + /* + *Create a new directory and change the current directory to this + */ + status=mkdir(wd,mode); + rtems_test_assert(status==0); + status=chdir(wd); + rtems_test_assert(status==0); + + umask(00); + + fd=creat(file01,mode); + status=close(fd); + rtems_test_assert(status==0); + status=stat(file01,&statbuf); + tmp_mode = (statbuf.st_mode) & ALLPERMS; + rtems_test_assert(tmp_mode==mode); + + /* + *Change the file mode uid and gid + */ + + status=chmod(file01,file_mode); + rtems_test_assert(status==0); + status=chown(file01,user_id,group_id); + rtems_test_assert(status==0); + status=stat(file01,&statbuf); + tmp_mode = (statbuf.st_mode) & ALLPERMS; + rtems_test_assert(tmp_mode==file_mode); + rtems_test_assert(user_id==statbuf.st_uid); + rtems_test_assert(group_id==statbuf.st_gid); + + status=mkdir(directory01,mode); + rtems_test_assert(status==0); + status=stat(directory01,&statbuf); + tmp_mode = (statbuf.st_mode) & ALLPERMS; + printf("The directory file mode is %0o\n",(unsigned int)tmp_mode); + rtems_test_assert(tmp_mode==mode); + + /* + *Change the directory file mode + */ + status=chmod(directory01,file_mode); + rtems_test_assert(status==0); + status=stat(directory01,&statbuf); + tmp_mode = (statbuf.st_mode) & ALLPERMS; + rtems_test_assert(tmp_mode==file_mode); + printf("The directory file mode is %0o\n",(unsigned int)tmp_mode); + + /* + * Go back to parent directory + */ + status=chdir(".."); + rtems_test_assert(status==0); +} +void root_test(void ) +{ + int fd; + int sc; + + fd =creat("test",0000); + sc=close(fd); + rtems_test_assert(sc==0); + + fd=open("test",O_RDONLY); + rtems_test_assert(fd!=-1); +} + +void test(void ) +{ + puts( "\n\n*** PERMISSION TEST ***" ); + umask_test01(); + test_premission01(); + test_premission02(); + root_test(); + puts( "*** END OF PERMISSION TEST ***" ); +} diff --git a/testsuites/fstests/fsrdwr/fsrdwr.doc b/testsuites/fstests/fsrdwr/fsrdwr.doc new file mode 100644 index 0000000000..7b0338f629 --- /dev/null +++ b/testsuites/fstests/fsrdwr/fsrdwr.doc @@ -0,0 +1,25 @@ +# +# $Id$ +# +# COPYRIGHT (c) 1989-2011. +# On-Line Applications Research Corporation (OAR). +# +# The license and distribution terms for this file may be +# found in the file LICENSE in this distribution or at +# http://www.rtems.com/license/LICENSE. +# + +This file describes the directives and concepts tested by this test set. + +test set name: fsrdwr + +directives: + ++ open ++ read ++ write ++ lseek + +concepts: + ++ Simlpe read and write test. diff --git a/testsuites/fstests/fsrdwr/init.c b/testsuites/fstests/fsrdwr/init.c new file mode 100644 index 0000000000..6565eb9415 --- /dev/null +++ b/testsuites/fstests/fsrdwr/init.c @@ -0,0 +1,519 @@ +/* + * COPYRIGHT (c) 1989-2011. + * On-Line Applications Research Corporation (OAR). + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + * + * $Id Exp $ + */ +#include <sys/stat.h> +#include <string.h> +#include <stdlib.h> +#include <fcntl.h> +#include <stdio.h> +#include <stdlib.h> +#include <stdint.h> +#include <memory.h> +#include <unistd.h> + +#include "fstest.h" + +const char *databuf = + "Happy days are here again. Happy days are here again.1Happy " + "days are here again.2Happy days are here again.3Happy days are here again." + "4Happy days are here again.5Happy days are here again.6Happy days are here " + "again.7Happy days are here again."; + +void read_write_test (void) +{ + + int fd; + int status; + char *name01 = "name01"; + char *name02 = "name02"; + struct stat statbuf; + char *readbuf; + size_t len = strlen (databuf); + off_t pos = 0; + + int n; + mode_t mode = S_IRWXU | S_IRWXG | S_IRWXO; + + + const char* wd=__func__; + + /* + * Create a new directory and change the current directory to this + */ + status=mkdir(wd,mode); + rtems_test_assert(status==0); + status=chdir(wd); + rtems_test_assert(status==0); + /* + * Create an empty file + */ + fd = open (name01, O_CREAT | O_WRONLY, mode); + status = close (fd); + rtems_test_assert (status == 0); + /* + * Verify the empty file + */ + status = stat (name01, &statbuf); + rtems_test_assert (status == 0); + + rtems_test_assert (S_ISREG (statbuf.st_mode)); + rtems_test_assert (statbuf.st_size == 0); + + /* + * Write data to the empty file + */ + fd = open (name01, O_WRONLY); + rtems_test_assert (fd != -1); + + n = write (fd, databuf, len); + rtems_test_assert (n == len); + status = close (fd); + rtems_test_assert (status == 0); + + status = stat (name01, &statbuf); + rtems_test_assert (status == 0); + rtems_test_assert (S_ISREG (statbuf.st_mode)); + rtems_test_assert (statbuf.st_size == len); + + /* + * Read the data from the file + */ + readbuf = (char *) malloc (len + 1); + rtems_test_assert (readbuf); + + fd = open (name01, O_RDONLY); + rtems_test_assert (fd != -1); + n = read (fd, readbuf, len); + rtems_test_assert (n == len); + rtems_test_assert (!strncmp (databuf, readbuf, len)); + status = close (fd); + rtems_test_assert (status == 0); + + /* + * Open the file using O_APPEND and write the data + */ + memset (readbuf, 0, len + 1); + fd = open (name01, O_WRONLY | O_APPEND); + n = write (fd, databuf, len); + rtems_test_assert (n == len); + pos = lseek (fd, 0, SEEK_CUR); + rtems_test_assert (pos == 2 * len); + status = close (fd); + rtems_test_assert (status == 0); + + /* + * Read the data and verify it + */ + fd = open (name01, O_RDONLY); + rtems_test_assert (fd != -1); + n = read (fd, readbuf, len); + rtems_test_assert (n == len); + rtems_test_assert (!strncmp (databuf, readbuf, len)); + + n = read (fd, readbuf, len); + rtems_test_assert (n == len); + rtems_test_assert (!strncmp (databuf, readbuf, len)); + status = close (fd); + rtems_test_assert (status == 0); + + /* + * Open the file using O_RDWR + */ + memset (readbuf, 0, len + 1); + + fd = open (name01, O_RDWR); + n = write (fd, databuf, len); + rtems_test_assert (n == len); + pos = lseek (fd, 0, SEEK_CUR); + rtems_test_assert (pos == len); + n = read (fd, readbuf, len); + rtems_test_assert (n == len); + rtems_test_assert (!strncmp (databuf, readbuf, len)); + pos = lseek (fd, 0, SEEK_CUR); + rtems_test_assert (pos == 2 * len); + status = close (fd); + rtems_test_assert (status == 0); + + /* + * Open the file using O_TRUNC + */ + + fd = open (name01, O_WRONLY | O_TRUNC); + status = close (fd); + rtems_test_assert (status == 0); + + /* + * Verify if the length is zero + */ + status = stat (name01, &statbuf); + rtems_test_assert (status == 0); + rtems_test_assert (S_ISREG (statbuf.st_mode)); + rtems_test_assert (statbuf.st_size == 0); + + /* + * Open a directory + */ + status = mkdir (name02, mode); + rtems_test_assert (status == 0); + fd = open (name02, O_RDONLY); + rtems_test_assert (fd != -1); + + status = close (fd); + rtems_test_assert (status == 0); + + free (readbuf); + + /* + * Go back to parent directory + */ + status=chdir(".."); + rtems_test_assert(status==0); +} + +void truncate_test03(void ) +{ + + int fd; + int status; + char *name01="name01"; + struct stat statbuf; + + char data; + int n; + int i; + + size_t len = strlen(databuf); + + char *readbuf; + off_t good_size=100; + mode_t mode = S_IRWXU|S_IRWXG|S_IRWXO; + + + const char* wd=__func__; + + /* + * Create a new directory and change the current directory to this + */ + status=mkdir(wd,mode); + rtems_test_assert(status==0); + status=chdir(wd); + rtems_test_assert(status==0); + + /* + * Create an empty file + */ + fd=creat(name01,mode); + status=close(fd); + rtems_test_assert(status==0); + + + /* + * Truncate it to a valid size + */ + status=truncate(name01,good_size); + rtems_test_assert(status==0); + /* + * Verify the size and the data + */ + status=stat(name01,&statbuf); + rtems_test_assert(status==0); + rtems_test_assert(good_size==statbuf.st_size); + + fd=open(name01,O_RDONLY); + while ((n=read(fd,&data,1))>0) { + rtems_test_assert(data==0); + } + + status=close(fd); + rtems_test_assert(status==0); + + /* + * Fill a file with data + */ + fd=open(name01,O_WRONLY); + rtems_test_assert(fd!=-1); + n=write(fd,databuf,len); + rtems_test_assert(n==len); + + /* + * Truncate it to the half size + */ + + status=truncate(name01,len/2); + status=truncate(name01,len); + + /* + * verify the data + */ + readbuf = (char *)malloc(len/2); + rtems_test_assert( readbuf ); + fd=open(name01,O_RDONLY); + rtems_test_assert(fd!=-1); + n=read(fd,readbuf,len/2); + rtems_test_assert(n==len/2); + rtems_test_assert(!strncmp(databuf,readbuf,len/2)); + n=read(fd,readbuf,len/2); + rtems_test_assert(n==len/2); + for (i=0;i<len/2;i++){ + rtems_test_assert(readbuf[i]==0); + } + status=close(fd); + rtems_test_assert( status==0 ); + + /* + * Go back to parent directory + */ + status=chdir(".."); + rtems_test_assert(status==0); +} + +void lseek_test(void) +{ + int fd; + int status; + char *name01="test_name01"; + struct stat statbuf; + + int n; + int i; + + size_t len = strlen(databuf); + off_t pos; + int total_written=0; + + char *readbuf; + mode_t mode = S_IRWXU|S_IRWXG|S_IRWXO; + + + + const char* wd=__func__; + + /* + * Create a new directory and change the current directory to this + */ + status=mkdir(wd,mode); + rtems_test_assert(status==0); + status=chdir(wd); + rtems_test_assert(status==0); + + /* + * Create a file and fill with the data. + */ + puts("Create a new file"); + fd=creat(name01,mode); + rtems_test_assert(fd!=-1); + + pos=lseek(fd,0,SEEK_CUR); + rtems_test_assert(pos==0); + + pos=lseek(fd,0,SEEK_END); + rtems_test_assert(pos==0); + + pos=lseek(fd,0,SEEK_SET); + rtems_test_assert(pos==0); + + + printf( "Writing %d bytes to file\n", len * 10 ); + for (i=0; i<10; i++) { + n = write(fd, databuf, len); + rtems_test_assert( n != -1 ); + total_written += n; + } + printf("Successfully wrote %d\n", total_written); + + /* + * Check the current position + */ + puts("Check the current position"); + pos=lseek(fd,0,SEEK_CUR); + rtems_test_assert(pos==total_written); + + pos=lseek(fd,0,SEEK_END); + rtems_test_assert(pos==total_written); + + /* + * ftruncate shall not change the posistion + */ + status=ftruncate(fd,total_written+1); + rtems_test_assert(status==0); + + pos=lseek(fd,0,SEEK_CUR); + rtems_test_assert(pos==total_written); + + pos=lseek(fd,0,SEEK_END); + printf("%jd\n",(intmax_t)pos); + rtems_test_assert(pos==total_written+1); + + status=ftruncate(fd,total_written); + rtems_test_assert(status==0); + + pos=lseek(fd,0,SEEK_CUR); + rtems_test_assert(pos==total_written+1); + + + status=close(fd); + rtems_test_assert(status==0); + + /* + * Check the file size + */ + status=stat(name01,&statbuf); + rtems_test_assert(statbuf.st_size==total_written); + + /* + * Open the file with O_RDONLY and check the lseek + */ + readbuf=(char*)malloc(len); + fd=open(name01,O_RDONLY); + pos=lseek(fd,len,SEEK_CUR); + rtems_test_assert(pos==len); + n=read(fd,readbuf,len); + rtems_test_assert(n==len); + rtems_test_assert(!strncmp(databuf,readbuf,len)); + + pos=lseek(fd,len,SEEK_CUR); + rtems_test_assert(pos==3*len); + n=read(fd,readbuf,len); + rtems_test_assert(n==len); + rtems_test_assert(!strncmp(databuf,readbuf,len)); + + pos=lseek(fd,-len,SEEK_CUR); + rtems_test_assert(pos==3*len); + n=read(fd,readbuf,len); + rtems_test_assert(n==len); + rtems_test_assert(!strncmp(databuf,readbuf,len)); + + pos=lseek(fd,4*len,SEEK_SET); + n=read(fd,readbuf,len); + rtems_test_assert(n==len); + rtems_test_assert(!strncmp(databuf,readbuf,len)); + + + pos=lseek(fd,10,SEEK_SET); + n=read(fd,readbuf,len); + rtems_test_assert(n==len); + rtems_test_assert(strncmp(databuf,readbuf,len)!=0); + + pos=lseek(fd,-len,SEEK_END); + n=read(fd,readbuf,2*len); + rtems_test_assert(n==len); + rtems_test_assert(!strncmp(databuf,readbuf,len)); + + status=close(fd); + rtems_test_assert(status==0); + + /* + * Open the file withe O_RDWR and check the lseek + */ + + fd=open(name01,O_RDWR); + + pos=lseek(fd,len,SEEK_CUR); + rtems_test_assert(pos==len); + n=read(fd,readbuf,len); + rtems_test_assert(n==len); + rtems_test_assert(!strncmp(databuf,readbuf,len)); + + pos=lseek(fd,len,SEEK_CUR); + rtems_test_assert(pos==3*len); + n=read(fd,readbuf,len); + rtems_test_assert(n==len); + rtems_test_assert(!strncmp(databuf,readbuf,len)); + + pos=lseek(fd,-len,SEEK_CUR); + rtems_test_assert(pos==3*len); + n=read(fd,readbuf,len); + rtems_test_assert(n==len); + rtems_test_assert(!strncmp(databuf,readbuf,len)); + + pos=lseek(fd,4*len,SEEK_SET); + n=read(fd,readbuf,len); + rtems_test_assert(n==len); + rtems_test_assert(!strncmp(databuf,readbuf,len)); + + /* + * Go to the wrong position, so the data is not the same + */ + pos=lseek(fd,10,SEEK_SET); + n=read(fd,readbuf,len); + rtems_test_assert(n==len); + rtems_test_assert(strncmp(databuf,readbuf,len)!=0); + + /* + * Use SEEK_END + */ + pos=lseek(fd,-len,SEEK_END); + n=read(fd,readbuf,2*len); + rtems_test_assert(n==len); + rtems_test_assert(!strncmp(databuf,readbuf,len)); + + memset(readbuf,0,len); + + /* + * Write the zero to the end of file. + */ + pos=lseek(fd,-len,SEEK_END); + rtems_test_assert(pos==total_written-len); + n=write(fd,readbuf,len); + rtems_test_assert(n==len); + /* + * Verify it + */ + pos=lseek(fd,total_written-len,SEEK_SET); + n=read(fd,readbuf,len); + rtems_test_assert(n==len); + for (i=0;i<n;i++){ + rtems_test_assert(readbuf[i]==0); + } + + /* + * Write the zero to the beginning of file. + */ + pos=lseek(fd,-total_written,SEEK_END); + rtems_test_assert(pos==0); + n=write(fd,readbuf,len); + rtems_test_assert(n==len); + + /* + * Verify it + */ + + pos=lseek(fd,0,SEEK_SET); + n=read(fd,readbuf,len); + rtems_test_assert(n==len); + for (i=0;i<n;i++){ + rtems_test_assert(readbuf[i]==0); + } + + n=read(fd,readbuf,len); + rtems_test_assert(n==len); + rtems_test_assert(strncmp(databuf,readbuf,len)==0); + /* + * Call ftruncate to decrease the file and the position not change + */ + status=ftruncate(fd,len); + rtems_test_assert(status==0); + pos=lseek(fd,0,SEEK_CUR); + rtems_test_assert(pos==len*2); + + status=close(fd); + rtems_test_assert(status==0); + /* + * Go back to parent directory + */ + status=chdir(".."); + rtems_test_assert(status==0); + +} +void test(void ) +{ + read_write_test(); + lseek_test(); +} diff --git a/testsuites/fstests/fstime/fstime.doc b/testsuites/fstests/fstime/fstime.doc new file mode 100644 index 0000000000..b7b5ea05c9 --- /dev/null +++ b/testsuites/fstests/fstime/fstime.doc @@ -0,0 +1,28 @@ +# +# $Id$ +# +# COPYRIGHT (c) 1989-2009. +# On-Line Applications Research Corporation (OAR). +# +# The license and distribution terms for this file may be +# found in the file LICENSE in this distribution or at +# http://www.rtems.com/license/LICENSE. +# + +This file describes the directives and concepts tested by this test set. + +test set name: fstime + +directives: + ++ open ++ write ++ read ++ utime + + + +concepts: + ++ Check if the these directives update the time attribute + diff --git a/testsuites/fstests/fstime/test.c b/testsuites/fstests/fstime/test.c new file mode 100644 index 0000000000..a0e30d94a7 --- /dev/null +++ b/testsuites/fstests/fstime/test.c @@ -0,0 +1,264 @@ + +/* + * COPYRIGHT (c) 1989-2011. + * On-Line Applications Research Corporation (OAR). + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + * + * $Id Exp $ + */ + +#include <sys/stat.h> +#include <limits.h> +#include <fcntl.h> +#include <errno.h> +#include <stdio.h> +#include <stdint.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> +#include <utime.h> +#include "fstest.h" + +void time_test01 (void) +{ + struct stat statbuf; + struct utimbuf timbuf; + int status = 0; + int fd; + time_t ctime1, mtime1; + time_t ctime2, mtime2; + char *readbuf; + char *databuf = "TEST"; + char *file01 = "test01"; + char *file02 = "test02"; + char *dir01 = "dir01"; + + int n; + int len = strlen (databuf); + + const char *wd = __func__; + mode_t mode = S_IRWXU | S_IRWXG | S_IRWXO; + /* + * Create a new directory and change to this + */ + status = mkdir (wd, mode); + rtems_test_assert (status == 0); + status = chdir (wd); + rtems_test_assert (status == 0); + + /* + * Create two files + */ + fd = open (file01, O_CREAT | O_WRONLY, mode); + n = write (fd, databuf, len); + rtems_test_assert (n == len); + status = close (fd); + rtems_test_assert (status == 0); + + fd = open (file02, O_CREAT | O_WRONLY, mode); + n = write (fd, databuf, len); + rtems_test_assert (n == len); + status = close (fd); + rtems_test_assert (status == 0); + /* + * If O_CREAT is set and the file did not previously exist, upon + * successful completion, open() shall mark for update the st_atime, + * st_ctime, and st_mtime fields of the file and the st_ctime and + * st_mtime fields of the parent directory. + */ + status = stat (file01, &statbuf); + rtems_test_assert (status == 0); + ctime1 = statbuf.st_ctime; + mtime1 = statbuf.st_mtime; + + status = stat (".", &statbuf); + rtems_test_assert (status == 0); + ctime2 = statbuf.st_ctime; + mtime2 = statbuf.st_mtime; + + /* + * Make sure they are the same + */ + + rtems_test_assert (TIME_EQUAL (ctime1, mtime1)); + rtems_test_assert (TIME_EQUAL (ctime1, mtime2)); + rtems_test_assert (TIME_EQUAL (ctime1, ctime2)); + + status = stat (file02, &statbuf); + rtems_test_assert (status == 0); + ctime1 = statbuf.st_ctime; + mtime1 = statbuf.st_mtime; + + status = stat (".", &statbuf); + rtems_test_assert (status == 0); + ctime2 = statbuf.st_ctime; + mtime2 = statbuf.st_mtime; + + /* + * Make sure they are the same + */ + rtems_test_assert (TIME_EQUAL (ctime1, mtime1)); + rtems_test_assert (TIME_EQUAL (ctime1, mtime2)); + rtems_test_assert (TIME_EQUAL (ctime1, ctime2)); + + /* + * Sleep a few seconds + */ + puts ("Sleep a few seconds"); + + sleep (TIME_PRECISION); + + /* + * Create an empty directory + */ + status = mkdir (dir01, mode); + rtems_test_assert (status == 0); + /* + * truncate file01 to len, so it does not changes the file size + */ + status = truncate (file01, len); + rtems_test_assert (status == 0); + + /* + *truncate file02 to len+1, it changes the file size + */ + status = truncate (file02, len + 1); + rtems_test_assert (status == 0); + + /* + * + * truncate shall not modify the file offset for any open file + * descriptions associated with the file. Upon successful completion, + * if the file size is changed, this function shall mark for update + * the st_ctime and st_mtime fields of the file + */ + + /* + * file01 shall not update + */ + status = stat (file01, &statbuf); + rtems_test_assert (status == 0); + ctime2 = statbuf.st_ctime; + mtime2 = statbuf.st_mtime; + + rtems_test_assert (TIME_EQUAL (ctime1, mtime2)); + rtems_test_assert (TIME_EQUAL (ctime1, ctime2)); + + /* + * file02 shall update + */ + status = stat (file02, &statbuf); + rtems_test_assert (status == 0); + ctime2 = statbuf.st_ctime; + mtime2 = statbuf.st_mtime; + + rtems_test_assert (TIME_EQUAL (ctime2, mtime2)); + rtems_test_assert (!TIME_EQUAL (ctime1, mtime2)); + rtems_test_assert (!TIME_EQUAL (ctime1, ctime2)); + + /* + * Upon successful completion, mkdir() shall mark for update the + * 5st_atime, st_ctime, and st_mtime fields of the directory. + * Also, the st_ctime and st_mtime fields of the directory that + * contains the new entry shall be marked for update. + */ + status = stat (dir01, &statbuf); + rtems_test_assert (status == 0); + ctime2 = statbuf.st_ctime; + mtime2 = statbuf.st_mtime; + rtems_test_assert (TIME_EQUAL (ctime2, mtime2)); + rtems_test_assert (!TIME_EQUAL (ctime1, mtime2)); + rtems_test_assert (!TIME_EQUAL (ctime1, ctime2)); + + status = stat (".", &statbuf); + rtems_test_assert (status == 0); + ctime2 = statbuf.st_ctime; + mtime2 = statbuf.st_mtime; + + rtems_test_assert (!TIME_EQUAL (ctime1, ctime2)); + rtems_test_assert (!TIME_EQUAL (ctime1, mtime2)); + + /* + * Upon successful completion, where nbyte is greater than 0, + * write() shall mark for update the st_ctime and st_mtime fields of the file + */ + + /* + * read file01, and this should not uptate st_mtime and st_ctime + */ + readbuf = (char *) malloc (len + 1); + fd = open (file01, O_RDONLY); + rtems_test_assert (fd != -1); + n = read (fd, readbuf, len); + rtems_test_assert (n == len); + status = fstat (fd, &statbuf); + + ctime2 = statbuf.st_ctime; + mtime2 = statbuf.st_mtime; + + rtems_test_assert (TIME_EQUAL (ctime1, ctime2)); + rtems_test_assert (TIME_EQUAL (ctime1, mtime2)); + + status = close (fd); + rtems_test_assert (status == 0); + /* + * write file01, and this should uptate st_mtime st_ctime + */ + readbuf = (char *) malloc (len + 1); + fd = open (file01, O_WRONLY); + rtems_test_assert (fd != -1); + n = write (fd, databuf, len); + rtems_test_assert (n == len); + status = fstat (fd, &statbuf); + + ctime2 = statbuf.st_ctime; + mtime2 = statbuf.st_mtime; + + rtems_test_assert (!TIME_EQUAL (ctime1, ctime2)); + rtems_test_assert (!TIME_EQUAL (ctime1, mtime2)); + status = close (fd); + rtems_test_assert (status == 0); + + /* + * The utime() function shall set the access and modification times + * of the file named by the path argument. + */ + timbuf.actime = ctime1; + timbuf.modtime = mtime1; + + status = utime (file01, &timbuf); + rtems_test_assert (status == 0); + + status = stat (file01, &statbuf); + ctime2 = statbuf.st_atime; + mtime2 = statbuf.st_mtime; + + rtems_test_assert (TIME_EQUAL (ctime1, ctime2)); + rtems_test_assert (TIME_EQUAL (ctime1, mtime2)); + + status = utime (dir01, &timbuf); + rtems_test_assert (status == 0); + + status = stat (dir01, &statbuf); + ctime2 = statbuf.st_atime; + mtime2 = statbuf.st_mtime; + + rtems_test_assert (TIME_EQUAL (ctime1, ctime2)); + rtems_test_assert (TIME_EQUAL (ctime1, mtime2)); + +} + +/* + * These tests only get time_t value, and test + * if they are changed. Thest tests don't check atime + */ +void test (void) +{ + + puts( "\n\n*** TIME TEST ***" ); + time_test01(); + puts( "*** END OF TIME TEST ***" ); +} diff --git a/testsuites/fstests/imfs_fserror/.cvsignore b/testsuites/fstests/imfs_fserror/.cvsignore new file mode 100644 index 0000000000..282522db03 --- /dev/null +++ b/testsuites/fstests/imfs_fserror/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/testsuites/fstests/imfs_fserror/Makefile.am b/testsuites/fstests/imfs_fserror/Makefile.am new file mode 100644 index 0000000000..e85b3b139e --- /dev/null +++ b/testsuites/fstests/imfs_fserror/Makefile.am @@ -0,0 +1,37 @@ +## +## $Id$ +## + +MANAGERS = all + +rtems_tests_PROGRAMS = imfs_fserror +imfs_fserror_SOURCES = ../fserror/test.c +imfs_fserror_SOURCES += ../support/fstest_support.c +imfs_fserror_SOURCES += ../support/fstest_support.h +imfs_fserror_SOURCES += ../support/fstest.h +imfs_fserror_SOURCES += ../../psxtests/include/pmacros.h +imfs_fserror_SOURCES += ../imfs_support/fs_support.c +imfs_fserror_SOURCES += ../imfs_support/fs_config.h + +#dist_rtems_tests_DATA = imfs_fserror.scn +#dist_rtems_tests_DATA += imfs_fserror.doc + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../automake/compile.am +include $(top_srcdir)/../automake/leaf.am + +imfs_fserror_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel) + +AM_CPPFLAGS += -I$(top_srcdir)/support +AM_CPPFLAGS += -I$(top_srcdir)/imfs_support +AM_CPPFLAGS += -I$(top_srcdir)/../support/include +AM_CPPFLAGS += -I$(top_srcdir)/../psxtests/include + +LINK_OBJS = $(imfs_fserror_OBJECTS) $(imfs_fserror_LDADD) +LINK_LIBS = $(imfs_fserror_LDLIBS) + +imfs_fserror$(EXEEXT): $(imfs_fserror_OBJECTS) $(imfs_fserror_DEPENDENCIES) + @rm -f imfs_fserror$(EXEEXT) + $(make-exe) + +include $(top_srcdir)/../automake/local.am diff --git a/testsuites/fstests/imfs_fslink/.cvsignore b/testsuites/fstests/imfs_fslink/.cvsignore new file mode 100644 index 0000000000..282522db03 --- /dev/null +++ b/testsuites/fstests/imfs_fslink/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/testsuites/fstests/imfs_fslink/Makefile.am b/testsuites/fstests/imfs_fslink/Makefile.am index ad7a5e6c07..c9b7e5f012 100644 --- a/testsuites/fstests/imfs_fslink/Makefile.am +++ b/testsuites/fstests/imfs_fslink/Makefile.am @@ -5,10 +5,13 @@ MANAGERS = all rtems_tests_PROGRAMS = imfs_fslink -imfs_fslink_SOURCES = ../fslink/test.c ../support/fstest_support.c\ - ../support/fstest_support.h ../support/fstest.h ../../psxtests/include/pmacros.h \ - ../imfs_support/fs_support.c ../imfs_support/fs_config.h - +imfs_fslink_SOURCES = ../fslink/test.c +imfs_fslink_SOURCES += ../support/fstest_support.c +imfs_fslink_SOURCES += ../support/fstest_support.h +imfs_fslink_SOURCES += ../support/fstest.h +imfs_fslink_SOURCES += ../../psxtests/include/pmacros.h +imfs_fslink_SOURCES += ../imfs_support/fs_support.c +imfs_fslink_SOURCES += ../imfs_support/fs_config.h #dist_rtems_tests_DATA = imfs_fslink.scn #dist_rtems_tests_DATA += imfs_fslink.doc diff --git a/testsuites/fstests/imfs_fspatheval/.cvsignore b/testsuites/fstests/imfs_fspatheval/.cvsignore new file mode 100644 index 0000000000..282522db03 --- /dev/null +++ b/testsuites/fstests/imfs_fspatheval/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/testsuites/fstests/imfs_fspatheval/Makefile.am b/testsuites/fstests/imfs_fspatheval/Makefile.am new file mode 100644 index 0000000000..ae5a3d4c6b --- /dev/null +++ b/testsuites/fstests/imfs_fspatheval/Makefile.am @@ -0,0 +1,37 @@ +## +## $Id$ +## + +MANAGERS = all + +rtems_tests_PROGRAMS = imfs_fspatheval +imfs_fspatheval_SOURCES = ../fspatheval/test.c +imfs_fspatheval_SOURCES += ../support/fstest_support.c +imfs_fspatheval_SOURCES += ../support/fstest_support.h +imfs_fspatheval_SOURCES += ../support/fstest.h +imfs_fspatheval_SOURCES += ../../psxtests/include/pmacros.h +imfs_fspatheval_SOURCES += ../imfs_support/fs_support.c +imfs_fspatheval_SOURCES += ../imfs_support/fs_config.h + +#dist_rtems_tests_DATA = imfs_fspatheval.scn +#dist_rtems_tests_DATA += imfs_fspatheval.doc + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../automake/compile.am +include $(top_srcdir)/../automake/leaf.am + +imfs_fspatheval_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel) + +AM_CPPFLAGS += -I$(top_srcdir)/support +AM_CPPFLAGS += -I$(top_srcdir)/imfs_support +AM_CPPFLAGS += -I$(top_srcdir)/../support/include +AM_CPPFLAGS += -I$(top_srcdir)/../psxtests/include + +LINK_OBJS = $(imfs_fspatheval_OBJECTS) $(imfs_fspatheval_LDADD) +LINK_LIBS = $(imfs_fspatheval_LDLIBS) + +imfs_fspatheval$(EXEEXT): $(imfs_fspatheval_OBJECTS) $(imfs_fspatheval_DEPENDENCIES) + @rm -f imfs_fspatheval$(EXEEXT) + $(make-exe) + +include $(top_srcdir)/../automake/local.am diff --git a/testsuites/fstests/imfs_fspermission/.cvsignore b/testsuites/fstests/imfs_fspermission/.cvsignore new file mode 100644 index 0000000000..282522db03 --- /dev/null +++ b/testsuites/fstests/imfs_fspermission/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/testsuites/fstests/imfs_fspermission/Makefile.am b/testsuites/fstests/imfs_fspermission/Makefile.am new file mode 100644 index 0000000000..b2d78bcdf4 --- /dev/null +++ b/testsuites/fstests/imfs_fspermission/Makefile.am @@ -0,0 +1,37 @@ +## +## $Id$ +## + +MANAGERS = all + +rtems_tests_PROGRAMS = imfs_fspermission +imfs_fspermission_SOURCES = ../fspermission/test.c +imfs_fspermission_SOURCES += ../support/fstest_support.c +imfs_fspermission_SOURCES += ../support/fstest_support.h +imfs_fspermission_SOURCES += ../support/fstest.h +imfs_fspermission_SOURCES += ../../psxtests/include/pmacros.h +imfs_fspermission_SOURCES += ../imfs_support/fs_support.c +imfs_fspermission_SOURCES += ../imfs_support/fs_config.h + +#dist_rtems_tests_DATA = imfs_fspermission.scn +#dist_rtems_tests_DATA += imfs_fspermission.doc + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../automake/compile.am +include $(top_srcdir)/../automake/leaf.am + +imfs_fspermission_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel) + +AM_CPPFLAGS += -I$(top_srcdir)/support +AM_CPPFLAGS += -I$(top_srcdir)/imfs_support +AM_CPPFLAGS += -I$(top_srcdir)/../support/include +AM_CPPFLAGS += -I$(top_srcdir)/../psxtests/include + +LINK_OBJS = $(imfs_fspermission_OBJECTS) $(imfs_fspermission_LDADD) +LINK_LIBS = $(imfs_fspermission_LDLIBS) + +imfs_fspermission$(EXEEXT): $(imfs_fspermission_OBJECTS) $(imfs_fspermission_DEPENDENCIES) + @rm -f imfs_fspermission$(EXEEXT) + $(make-exe) + +include $(top_srcdir)/../automake/local.am diff --git a/testsuites/fstests/imfs_fsrdwr/.cvsignore b/testsuites/fstests/imfs_fsrdwr/.cvsignore new file mode 100644 index 0000000000..282522db03 --- /dev/null +++ b/testsuites/fstests/imfs_fsrdwr/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/testsuites/fstests/imfs_fsrdwr/Makefile.am b/testsuites/fstests/imfs_fsrdwr/Makefile.am new file mode 100644 index 0000000000..d43be1f95c --- /dev/null +++ b/testsuites/fstests/imfs_fsrdwr/Makefile.am @@ -0,0 +1,37 @@ +## +## $Id$ +## + +MANAGERS = all + +rtems_tests_PROGRAMS = imfs_fsrdwr +imfs_fsrdwr_SOURCES = ../fsrdwr/init.c +imfs_fsrdwr_SOURCES += ../support/fstest_support.c +imfs_fsrdwr_SOURCES += ../support/fstest_support.h +imfs_fsrdwr_SOURCES += ../support/fstest.h +imfs_fsrdwr_SOURCES += ../../psxtests/include/pmacros.h +imfs_fsrdwr_SOURCES += ../imfs_support/fs_support.c +imfs_fsrdwr_SOURCES += ../imfs_support/fs_config.h + +#dist_rtems_tests_DATA = imfs_fsrdwr.scn +#dist_rtems_tests_DATA += imfs_fsrdwr.doc + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../automake/compile.am +include $(top_srcdir)/../automake/leaf.am + +imfs_fsrdwr_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel) + +AM_CPPFLAGS += -I$(top_srcdir)/support +AM_CPPFLAGS += -I$(top_srcdir)/imfs_support +AM_CPPFLAGS += -I$(top_srcdir)/../support/include +AM_CPPFLAGS += -I$(top_srcdir)/../psxtests/include + +LINK_OBJS = $(imfs_fsrdwr_OBJECTS) $(imfs_fsrdwr_LDADD) +LINK_LIBS = $(imfs_fsrdwr_LDLIBS) + +imfs_fsrdwr$(EXEEXT): $(imfs_fsrdwr_OBJECTS) $(imfs_fsrdwr_DEPENDENCIES) + @rm -f imfs_fsrdwr$(EXEEXT) + $(make-exe) + +include $(top_srcdir)/../automake/local.am diff --git a/testsuites/fstests/imfs_fssymlink/.cvsignore b/testsuites/fstests/imfs_fssymlink/.cvsignore new file mode 100644 index 0000000000..282522db03 --- /dev/null +++ b/testsuites/fstests/imfs_fssymlink/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/testsuites/fstests/imfs_fssymlink/Makefile.am b/testsuites/fstests/imfs_fssymlink/Makefile.am index fcdee7e86a..4447ff6b3b 100644 --- a/testsuites/fstests/imfs_fssymlink/Makefile.am +++ b/testsuites/fstests/imfs_fssymlink/Makefile.am @@ -5,10 +5,13 @@ MANAGERS = all rtems_tests_PROGRAMS = imfs_fssymlink -imfs_fssymlink_SOURCES = ../fssymlink/test.c ../support/fstest_support.c\ - ../support/fstest_support.h ../support/fstest.h ../../psxtests/include/pmacros.h \ - ../imfs_support/fs_support.c ../imfs_support/fs_config.h - +imfs_fssymlink_SOURCES = ../fssymlink/test.c +imfs_fssymlink_SOURCES += ../support/fstest_support.c +imfs_fssymlink_SOURCES += ../support/fstest_support.h +imfs_fssymlink_SOURCES += ../support/fstest.h +imfs_fssymlink_SOURCES += ../../psxtests/include/pmacros.h +imfs_fssymlink_SOURCES += ../imfs_support/fs_support.c +imfs_fssymlink_SOURCES += ../imfs_support/fs_config.h #dist_rtems_tests_DATA = imfs_fssymlink.scn #dist_rtems_tests_DATA += imfs_fssymlink.doc diff --git a/testsuites/fstests/imfs_fstime/.cvsignore b/testsuites/fstests/imfs_fstime/.cvsignore new file mode 100644 index 0000000000..282522db03 --- /dev/null +++ b/testsuites/fstests/imfs_fstime/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/testsuites/fstests/imfs_fstime/Makefile.am b/testsuites/fstests/imfs_fstime/Makefile.am new file mode 100644 index 0000000000..fbac732f75 --- /dev/null +++ b/testsuites/fstests/imfs_fstime/Makefile.am @@ -0,0 +1,37 @@ +## +## $Id$ +## + +MANAGERS = all + +rtems_tests_PROGRAMS = imfs_fstime +imfs_fstime_SOURCES = ../fstime/test.c +imfs_fstime_SOURCES += ../support/fstest_support.c +imfs_fstime_SOURCES += ../support/fstest_support.h +imfs_fstime_SOURCES += ../support/fstest.h +imfs_fstime_SOURCES += ../../psxtests/include/pmacros.h +imfs_fstime_SOURCES += ../imfs_support/fs_support.c +imfs_fstime_SOURCES += ../imfs_support/fs_config.h + +#dist_rtems_tests_DATA = imfs_fstime.scn +#dist_rtems_tests_DATA += imfs_fstime.doc + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../automake/compile.am +include $(top_srcdir)/../automake/leaf.am + +imfs_fstime_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel) + +AM_CPPFLAGS += -I$(top_srcdir)/support +AM_CPPFLAGS += -I$(top_srcdir)/imfs_support +AM_CPPFLAGS += -I$(top_srcdir)/../support/include +AM_CPPFLAGS += -I$(top_srcdir)/../psxtests/include + +LINK_OBJS = $(imfs_fstime_OBJECTS) $(imfs_fstime_LDADD) +LINK_LIBS = $(imfs_fstime_LDLIBS) + +imfs_fstime$(EXEEXT): $(imfs_fstime_OBJECTS) $(imfs_fstime_DEPENDENCIES) + @rm -f imfs_fstime$(EXEEXT) + $(make-exe) + +include $(top_srcdir)/../automake/local.am diff --git a/testsuites/fstests/imfs_support/fs_supprot.h b/testsuites/fstests/imfs_support/fs_supprot.h new file mode 100644 index 0000000000..a4d1915ea3 --- /dev/null +++ b/testsuites/fstests/imfs_support/fs_supprot.h @@ -0,0 +1,40 @@ +/* + * COPYRIGHT (c) 1989-2011. + * On-Line Applications Research Corporation (OAR). + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + * + * $Id Exp $ + */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include "pmacros.h" + +#include "fs_config.h" + +void test_initialize_filesystem(void) +{ + int rc=0; + rc=mkdir(BASE_FOR_TEST,0777); + rtems_test_assert(rc==0); +} + +void test_shutdown_filesystem(void) +{ +} +/* configuration information */ +#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER +#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER + +#define CONFIGURE_RTEMS_INIT_TASKS_TABLE + +#define CONFIGURE_MAXIMUM_TASKS 1 +#define CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM +#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 40 + +#define CONFIGURE_INIT + +#include <rtems/confdefs.h> diff --git a/testsuites/fstests/mdosfs_fserror/.cvsignore b/testsuites/fstests/mdosfs_fserror/.cvsignore new file mode 100644 index 0000000000..282522db03 --- /dev/null +++ b/testsuites/fstests/mdosfs_fserror/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/testsuites/fstests/mdosfs_fserror/Makefile.am b/testsuites/fstests/mdosfs_fserror/Makefile.am new file mode 100644 index 0000000000..177c57cd2e --- /dev/null +++ b/testsuites/fstests/mdosfs_fserror/Makefile.am @@ -0,0 +1,39 @@ +## +## $Id$ +## + +MANAGERS = all + +rtems_tests_PROGRAMS = mdosfs_fserror +mdosfs_fserror_SOURCES = ../fserror/test.c +mdosfs_fserror_SOURCES += ../support/ramdisk_support.c +mdosfs_fserror_SOURCES += ../support/fstest_support.c +mdosfs_fserror_SOURCES += ../support/fstest_support.h +mdosfs_fserror_SOURCES += ../support/ramdisk_support.h +mdosfs_fserror_SOURCES += ../support/fstest.h +mdosfs_fserror_SOURCES += ../../psxtests/include/pmacros.h +mdosfs_fserror_SOURCES += ../mdosfs_support/fs_support.c +mdosfs_fserror_SOURCES += ../mdosfs_support/fs_config.h + +#dist_rtems_tests_DATA = mdosfs_fserror.scn +#dist_rtems_tests_DATA += mdosfs_fserror.doc + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../automake/compile.am +include $(top_srcdir)/../automake/leaf.am + +mdosfs_fserror_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel) + +AM_CPPFLAGS += -I$(top_srcdir)/support +AM_CPPFLAGS += -I$(top_srcdir)/mdosfs_support +AM_CPPFLAGS += -I$(top_srcdir)/../support/include +AM_CPPFLAGS += -I$(top_srcdir)/../psxtests/include + +LINK_OBJS = $(mdosfs_fserror_OBJECTS) $(mdosfs_fserror_LDADD) +LINK_LIBS = $(mdosfs_fserror_LDLIBS) + +mdosfs_fserror$(EXEEXT): $(mdosfs_fserror_OBJECTS) $(mdosfs_fserror_DEPENDENCIES) + @rm -f mdosfs_fserror$(EXEEXT) + $(make-exe) + +include $(top_srcdir)/../automake/local.am diff --git a/testsuites/fstests/mdosfs_fspatheval/.cvsignore b/testsuites/fstests/mdosfs_fspatheval/.cvsignore new file mode 100644 index 0000000000..282522db03 --- /dev/null +++ b/testsuites/fstests/mdosfs_fspatheval/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/testsuites/fstests/mdosfs_fspatheval/Makefile.am b/testsuites/fstests/mdosfs_fspatheval/Makefile.am new file mode 100644 index 0000000000..4e4d470156 --- /dev/null +++ b/testsuites/fstests/mdosfs_fspatheval/Makefile.am @@ -0,0 +1,39 @@ +## +## $Id$ +## + +MANAGERS = all + +rtems_tests_PROGRAMS = mdosfs_fspatheval +mdosfs_fspatheval_SOURCES = ../fspatheval/test.c +mdosfs_fspatheval_SOURCES += ../support/ramdisk_support.c +mdosfs_fspatheval_SOURCES += ../support/fstest_support.c +mdosfs_fspatheval_SOURCES += ../support/fstest_support.h +mdosfs_fspatheval_SOURCES += ../support/ramdisk_support.h +mdosfs_fspatheval_SOURCES += ../support/fstest.h +mdosfs_fspatheval_SOURCES += ../../psxtests/include/pmacros.h +mdosfs_fspatheval_SOURCES += ../mdosfs_support/fs_support.c +mdosfs_fspatheval_SOURCES += ../mdosfs_support/fs_config.h + +#dist_rtems_tests_DATA = mdosfs_fspatheval.scn +#dist_rtems_tests_DATA += mdosfs_fspatheval.doc + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../automake/compile.am +include $(top_srcdir)/../automake/leaf.am + +mdosfs_fspatheval_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel) + +AM_CPPFLAGS += -I$(top_srcdir)/support +AM_CPPFLAGS += -I$(top_srcdir)/mdosfs_support +AM_CPPFLAGS += -I$(top_srcdir)/../support/include +AM_CPPFLAGS += -I$(top_srcdir)/../psxtests/include + +LINK_OBJS = $(mdosfs_fspatheval_OBJECTS) $(mdosfs_fspatheval_LDADD) +LINK_LIBS = $(mdosfs_fspatheval_LDLIBS) + +mdosfs_fspatheval$(EXEEXT): $(mdosfs_fspatheval_OBJECTS) $(mdosfs_fspatheval_DEPENDENCIES) + @rm -f mdosfs_fspatheval$(EXEEXT) + $(make-exe) + +include $(top_srcdir)/../automake/local.am diff --git a/testsuites/fstests/mdosfs_fsrdwr/.cvsignore b/testsuites/fstests/mdosfs_fsrdwr/.cvsignore new file mode 100644 index 0000000000..282522db03 --- /dev/null +++ b/testsuites/fstests/mdosfs_fsrdwr/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/testsuites/fstests/mdosfs_fsrdwr/Makefile.am b/testsuites/fstests/mdosfs_fsrdwr/Makefile.am new file mode 100644 index 0000000000..b16e211d74 --- /dev/null +++ b/testsuites/fstests/mdosfs_fsrdwr/Makefile.am @@ -0,0 +1,39 @@ +## +## $Id$ +## + +MANAGERS = all + +rtems_tests_PROGRAMS = mdosfs_fsrdwr +mdosfs_fsrdwr_SOURCES = ../fsrdwr/init.c +mdosfs_fsrdwr_SOURCES += ../support/ramdisk_support.c +mdosfs_fsrdwr_SOURCES += ../support/fstest_support.c +mdosfs_fsrdwr_SOURCES += ../support/fstest_support.h +mdosfs_fsrdwr_SOURCES += ../support/ramdisk_support.h +mdosfs_fsrdwr_SOURCES += ../support/fstest.h +mdosfs_fsrdwr_SOURCES += ../../psxtests/include/pmacros.h +mdosfs_fsrdwr_SOURCES += ../mdosfs_support/fs_support.c +mdosfs_fsrdwr_SOURCES += ../mdosfs_support/fs_config.h + +#dist_rtems_tests_DATA = mdosfs_fsrdwr.scn +#dist_rtems_tests_DATA += mdosfs_fsrdwr.doc + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../automake/compile.am +include $(top_srcdir)/../automake/leaf.am + +mdosfs_fsrdwr_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel) + +AM_CPPFLAGS += -I$(top_srcdir)/support +AM_CPPFLAGS += -I$(top_srcdir)/mdosfs_support +AM_CPPFLAGS += -I$(top_srcdir)/../support/include +AM_CPPFLAGS += -I$(top_srcdir)/../psxtests/include + +LINK_OBJS = $(mdosfs_fsrdwr_OBJECTS) $(mdosfs_fsrdwr_LDADD) +LINK_LIBS = $(mdosfs_fsrdwr_LDLIBS) + +mdosfs_fsrdwr$(EXEEXT): $(mdosfs_fsrdwr_OBJECTS) $(mdosfs_fsrdwr_DEPENDENCIES) + @rm -f mdosfs_fsrdwr$(EXEEXT) + $(make-exe) + +include $(top_srcdir)/../automake/local.am diff --git a/testsuites/fstests/mdosfs_fstime/.cvsignore b/testsuites/fstests/mdosfs_fstime/.cvsignore new file mode 100644 index 0000000000..282522db03 --- /dev/null +++ b/testsuites/fstests/mdosfs_fstime/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/testsuites/fstests/mdosfs_fstime/Makefile.am b/testsuites/fstests/mdosfs_fstime/Makefile.am new file mode 100644 index 0000000000..7250a44a8f --- /dev/null +++ b/testsuites/fstests/mdosfs_fstime/Makefile.am @@ -0,0 +1,39 @@ +## +## $Id$ +## + +MANAGERS = all + +rtems_tests_PROGRAMS = mdosfs_fstime +mdosfs_fstime_SOURCES = ../fstime/test.c +mdosfs_fstime_SOURCES += ../support/ramdisk_support.c +mdosfs_fstime_SOURCES += ../support/fstest_support.c +mdosfs_fstime_SOURCES += ../support/fstest_support.h +mdosfs_fstime_SOURCES += ../support/ramdisk_support.h +mdosfs_fstime_SOURCES += ../support/fstest.h +mdosfs_fstime_SOURCES += ../../psxtests/include/pmacros.h +mdosfs_fstime_SOURCES += ../mdosfs_support/fs_support.c +mdosfs_fstime_SOURCES += ../mdosfs_support/fs_config.h + +#dist_rtems_tests_DATA = mdosfs_fstime.scn +#dist_rtems_tests_DATA += mdosfs_fstime.doc + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../automake/compile.am +include $(top_srcdir)/../automake/leaf.am + +mdosfs_fstime_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel) + +AM_CPPFLAGS += -I$(top_srcdir)/support +AM_CPPFLAGS += -I$(top_srcdir)/mdosfs_support +AM_CPPFLAGS += -I$(top_srcdir)/../support/include +AM_CPPFLAGS += -I$(top_srcdir)/../psxtests/include + +LINK_OBJS = $(mdosfs_fstime_OBJECTS) $(mdosfs_fstime_LDADD) +LINK_LIBS = $(mdosfs_fstime_LDLIBS) + +mdosfs_fstime$(EXEEXT): $(mdosfs_fstime_OBJECTS) $(mdosfs_fstime_DEPENDENCIES) + @rm -f mdosfs_fstime$(EXEEXT) + $(make-exe) + +include $(top_srcdir)/../automake/local.am diff --git a/testsuites/fstests/mimfs_fserror/.cvsignore b/testsuites/fstests/mimfs_fserror/.cvsignore new file mode 100644 index 0000000000..282522db03 --- /dev/null +++ b/testsuites/fstests/mimfs_fserror/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/testsuites/fstests/mimfs_fserror/Makefile.am b/testsuites/fstests/mimfs_fserror/Makefile.am new file mode 100644 index 0000000000..b3ed8d7da7 --- /dev/null +++ b/testsuites/fstests/mimfs_fserror/Makefile.am @@ -0,0 +1,37 @@ +## +## $Id$ +## + +MANAGERS = all + +rtems_tests_PROGRAMS = mimfs_fserror +mimfs_fserror_SOURCES = ../fserror/test.c +mimfs_fserror_SOURCES += ../support/fstest_support.c +mimfs_fserror_SOURCES += ../support/fstest_support.h +mimfs_fserror_SOURCES += ../support/fstest.h +mimfs_fserror_SOURCES += ../../psxtests/include/pmacros.h +mimfs_fserror_SOURCES += ../mimfs_support/fs_support.c +mimfs_fserror_SOURCES += ../mimfs_support/fs_config.h + +#dist_rtems_tests_DATA = mimfs_fserror.scn +#dist_rtems_tests_DATA += mimfs_fserror.doc + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../automake/compile.am +include $(top_srcdir)/../automake/leaf.am + +mimfs_fserror_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel) + +AM_CPPFLAGS += -I$(top_srcdir)/support +AM_CPPFLAGS += -I$(top_srcdir)/mimfs_support +AM_CPPFLAGS += -I$(top_srcdir)/../support/include +AM_CPPFLAGS += -I$(top_srcdir)/../psxtests/include + +LINK_OBJS = $(mimfs_fserror_OBJECTS) $(mimfs_fserror_LDADD) +LINK_LIBS = $(mimfs_fserror_LDLIBS) + +mimfs_fserror$(EXEEXT): $(mimfs_fserror_OBJECTS) $(mimfs_fserror_DEPENDENCIES) + @rm -f mimfs_fserror$(EXEEXT) + $(make-exe) + +include $(top_srcdir)/../automake/local.am diff --git a/testsuites/fstests/mimfs_fslink/.cvsignore b/testsuites/fstests/mimfs_fslink/.cvsignore new file mode 100644 index 0000000000..282522db03 --- /dev/null +++ b/testsuites/fstests/mimfs_fslink/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/testsuites/fstests/mimfs_fslink/Makefile.am b/testsuites/fstests/mimfs_fslink/Makefile.am index ec734ca59e..da39769997 100644 --- a/testsuites/fstests/mimfs_fslink/Makefile.am +++ b/testsuites/fstests/mimfs_fslink/Makefile.am @@ -5,11 +5,13 @@ MANAGERS = all rtems_tests_PROGRAMS = mimfs_fslink -mimfs_fslink_SOURCES = ../fslink/test.c ../support/fstest_support.c\ - ../support/fstest_support.h ../support/fstest.h \ - ../../psxtests/include/pmacros.h \ - ../mimfs_support/fs_support.c ../mimfs_support/fs_config.h - +mimfs_fslink_SOURCES = ../fslink/test.c +mimfs_fslink_SOURCES += ../support/fstest_support.c +mimfs_fslink_SOURCES += ../support/fstest_support.h +mimfs_fslink_SOURCES += ../support/fstest.h +mimfs_fslink_SOURCES += ../../psxtests/include/pmacros.h +mimfs_fslink_SOURCES += ../mimfs_support/fs_support.c +mimfs_fslink_SOURCES += ../mimfs_support/fs_config.h #dist_rtems_tests_DATA = mimfs_fslink.scn #dist_rtems_tests_DATA += mimfs_fslink.doc diff --git a/testsuites/fstests/mimfs_fspatheval/.cvsignore b/testsuites/fstests/mimfs_fspatheval/.cvsignore new file mode 100644 index 0000000000..282522db03 --- /dev/null +++ b/testsuites/fstests/mimfs_fspatheval/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/testsuites/fstests/mimfs_fspatheval/Makefile.am b/testsuites/fstests/mimfs_fspatheval/Makefile.am new file mode 100644 index 0000000000..39079723c2 --- /dev/null +++ b/testsuites/fstests/mimfs_fspatheval/Makefile.am @@ -0,0 +1,37 @@ +## +## $Id$ +## + +MANAGERS = all + +rtems_tests_PROGRAMS = mimfs_fspatheval +mimfs_fspatheval_SOURCES = ../fspatheval/test.c +mimfs_fspatheval_SOURCES += ../support/fstest_support.c +mimfs_fspatheval_SOURCES += ../support/fstest_support.h +mimfs_fspatheval_SOURCES += ../support/fstest.h +mimfs_fspatheval_SOURCES += ../../psxtests/include/pmacros.h +mimfs_fspatheval_SOURCES += ../mimfs_support/fs_support.c +mimfs_fspatheval_SOURCES += ../mimfs_support/fs_config.h + +#dist_rtems_tests_DATA = mimfs_fspatheval.scn +#dist_rtems_tests_DATA += mimfs_fspatheval.doc + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../automake/compile.am +include $(top_srcdir)/../automake/leaf.am + +mimfs_fspatheval_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel) + +AM_CPPFLAGS += -I$(top_srcdir)/support +AM_CPPFLAGS += -I$(top_srcdir)/mimfs_support +AM_CPPFLAGS += -I$(top_srcdir)/../support/include +AM_CPPFLAGS += -I$(top_srcdir)/../psxtests/include + +LINK_OBJS = $(mimfs_fspatheval_OBJECTS) $(mimfs_fspatheval_LDADD) +LINK_LIBS = $(mimfs_fspatheval_LDLIBS) + +mimfs_fspatheval$(EXEEXT): $(mimfs_fspatheval_OBJECTS) $(mimfs_fspatheval_DEPENDENCIES) + @rm -f mimfs_fspatheval$(EXEEXT) + $(make-exe) + +include $(top_srcdir)/../automake/local.am diff --git a/testsuites/fstests/mimfs_fspermission/.cvsignore b/testsuites/fstests/mimfs_fspermission/.cvsignore new file mode 100644 index 0000000000..282522db03 --- /dev/null +++ b/testsuites/fstests/mimfs_fspermission/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/testsuites/fstests/mimfs_fspermission/Makefile.am b/testsuites/fstests/mimfs_fspermission/Makefile.am new file mode 100644 index 0000000000..a39249778b --- /dev/null +++ b/testsuites/fstests/mimfs_fspermission/Makefile.am @@ -0,0 +1,37 @@ +## +## $Id$ +## + +MANAGERS = all + +rtems_tests_PROGRAMS = mimfs_fspermission +mimfs_fspermission_SOURCES = ../fspermission/test.c +mimfs_fspermission_SOURCES += ../support/fstest_support.c +mimfs_fspermission_SOURCES += ../support/fstest_support.h +mimfs_fspermission_SOURCES += ../support/fstest.h +mimfs_fspermission_SOURCES += ../../psxtests/include/pmacros.h +mimfs_fspermission_SOURCES += ../mimfs_support/fs_support.c +mimfs_fspermission_SOURCES += ../mimfs_support/fs_config.h + +#dist_rtems_tests_DATA = mimfs_fspermission.scn +#dist_rtems_tests_DATA += mimfs_fspermission.doc + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../automake/compile.am +include $(top_srcdir)/../automake/leaf.am + +mimfs_fspermission_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel) + +AM_CPPFLAGS += -I$(top_srcdir)/support +AM_CPPFLAGS += -I$(top_srcdir)/mimfs_support +AM_CPPFLAGS += -I$(top_srcdir)/../support/include +AM_CPPFLAGS += -I$(top_srcdir)/../psxtests/include + +LINK_OBJS = $(mimfs_fspermission_OBJECTS) $(mimfs_fspermission_LDADD) +LINK_LIBS = $(mimfs_fspermission_LDLIBS) + +mimfs_fspermission$(EXEEXT): $(mimfs_fspermission_OBJECTS) $(mimfs_fspermission_DEPENDENCIES) + @rm -f mimfs_fspermission$(EXEEXT) + $(make-exe) + +include $(top_srcdir)/../automake/local.am diff --git a/testsuites/fstests/mimfs_fsrdwr/.cvsignore b/testsuites/fstests/mimfs_fsrdwr/.cvsignore new file mode 100644 index 0000000000..282522db03 --- /dev/null +++ b/testsuites/fstests/mimfs_fsrdwr/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/testsuites/fstests/mimfs_fsrdwr/Makefile.am b/testsuites/fstests/mimfs_fsrdwr/Makefile.am new file mode 100644 index 0000000000..30c74349b4 --- /dev/null +++ b/testsuites/fstests/mimfs_fsrdwr/Makefile.am @@ -0,0 +1,37 @@ +## +## $Id$ +## + +MANAGERS = all + +rtems_tests_PROGRAMS = mimfs_fsrdwr +mimfs_fsrdwr_SOURCES = ../fsrdwr/init.c +mimfs_fsrdwr_SOURCES += ../support/fstest_support.c +mimfs_fsrdwr_SOURCES += ../support/fstest_support.h +mimfs_fsrdwr_SOURCES += ../support/fstest.h +mimfs_fsrdwr_SOURCES += ../../psxtests/include/pmacros.h +mimfs_fsrdwr_SOURCES += ../mimfs_support/fs_support.c +mimfs_fsrdwr_SOURCES += ../mimfs_support/fs_config.h + +#dist_rtems_tests_DATA = mimfs_fsrdwr.scn +#dist_rtems_tests_DATA += mimfs_fsrdwr.doc + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../automake/compile.am +include $(top_srcdir)/../automake/leaf.am + +mimfs_fsrdwr_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel) + +AM_CPPFLAGS += -I$(top_srcdir)/support +AM_CPPFLAGS += -I$(top_srcdir)/mimfs_support +AM_CPPFLAGS += -I$(top_srcdir)/../support/include +AM_CPPFLAGS += -I$(top_srcdir)/../psxtests/include + +LINK_OBJS = $(mimfs_fsrdwr_OBJECTS) $(mimfs_fsrdwr_LDADD) +LINK_LIBS = $(mimfs_fsrdwr_LDLIBS) + +mimfs_fsrdwr$(EXEEXT): $(mimfs_fsrdwr_OBJECTS) $(mimfs_fsrdwr_DEPENDENCIES) + @rm -f mimfs_fsrdwr$(EXEEXT) + $(make-exe) + +include $(top_srcdir)/../automake/local.am diff --git a/testsuites/fstests/mimfs_fssymlink/.cvsignore b/testsuites/fstests/mimfs_fssymlink/.cvsignore new file mode 100644 index 0000000000..282522db03 --- /dev/null +++ b/testsuites/fstests/mimfs_fssymlink/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/testsuites/fstests/mimfs_fssymlink/Makefile.am b/testsuites/fstests/mimfs_fssymlink/Makefile.am index 4561015154..9267d05a5c 100644 --- a/testsuites/fstests/mimfs_fssymlink/Makefile.am +++ b/testsuites/fstests/mimfs_fssymlink/Makefile.am @@ -5,10 +5,13 @@ MANAGERS = all rtems_tests_PROGRAMS = mimfs_fssymlink -mimfs_fssymlink_SOURCES = ../fssymlink/test.c ../support/fstest_support.c\ - ../support/fstest_support.h ../support/fstest.h ../../psxtests/include/pmacros.h \ - ../mimfs_support/fs_support.c ../mimfs_support/fs_config.h - +mimfs_fssymlink_SOURCES = ../fssymlink/test.c +mimfs_fssymlink_SOURCES += ../support/fstest_support.c +mimfs_fssymlink_SOURCES += ../support/fstest_support.h +mimfs_fssymlink_SOURCES += ../support/fstest.h +mimfs_fssymlink_SOURCES += ../../psxtests/include/pmacros.h +mimfs_fssymlink_SOURCES += ../mimfs_support/fs_support.c +mimfs_fssymlink_SOURCES += ../mimfs_support/fs_config.h #dist_rtems_tests_DATA = mimfs_fssymlink.scn #dist_rtems_tests_DATA += mimfs_fssymlink.doc diff --git a/testsuites/fstests/mimfs_fstime/.cvsignore b/testsuites/fstests/mimfs_fstime/.cvsignore new file mode 100644 index 0000000000..282522db03 --- /dev/null +++ b/testsuites/fstests/mimfs_fstime/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/testsuites/fstests/mimfs_fstime/Makefile.am b/testsuites/fstests/mimfs_fstime/Makefile.am new file mode 100644 index 0000000000..7ca44d736a --- /dev/null +++ b/testsuites/fstests/mimfs_fstime/Makefile.am @@ -0,0 +1,37 @@ +## +## $Id$ +## + +MANAGERS = all + +rtems_tests_PROGRAMS = mimfs_fstime +mimfs_fstime_SOURCES = ../fstime/test.c +mimfs_fstime_SOURCES += ../support/fstest_support.c +mimfs_fstime_SOURCES += ../support/fstest_support.h +mimfs_fstime_SOURCES += ../support/fstest.h +mimfs_fstime_SOURCES += ../../psxtests/include/pmacros.h +mimfs_fstime_SOURCES += ../mimfs_support/fs_support.c +mimfs_fstime_SOURCES += ../mimfs_support/fs_config.h + +#dist_rtems_tests_DATA = mimfs_fstime.scn +#dist_rtems_tests_DATA += mimfs_fstime.doc + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../automake/compile.am +include $(top_srcdir)/../automake/leaf.am + +mimfs_fstime_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel) + +AM_CPPFLAGS += -I$(top_srcdir)/support +AM_CPPFLAGS += -I$(top_srcdir)/mimfs_support +AM_CPPFLAGS += -I$(top_srcdir)/../support/include +AM_CPPFLAGS += -I$(top_srcdir)/../psxtests/include + +LINK_OBJS = $(mimfs_fstime_OBJECTS) $(mimfs_fstime_LDADD) +LINK_LIBS = $(mimfs_fstime_LDLIBS) + +mimfs_fstime$(EXEEXT): $(mimfs_fstime_OBJECTS) $(mimfs_fstime_DEPENDENCIES) + @rm -f mimfs_fstime$(EXEEXT) + $(make-exe) + +include $(top_srcdir)/../automake/local.am diff --git a/testsuites/fstests/mrfs_fserror/.cvsignore b/testsuites/fstests/mrfs_fserror/.cvsignore new file mode 100644 index 0000000000..282522db03 --- /dev/null +++ b/testsuites/fstests/mrfs_fserror/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/testsuites/fstests/mrfs_fserror/Makefile.am b/testsuites/fstests/mrfs_fserror/Makefile.am new file mode 100644 index 0000000000..151c1a9448 --- /dev/null +++ b/testsuites/fstests/mrfs_fserror/Makefile.am @@ -0,0 +1,39 @@ +## +## $Id$ +## + +MANAGERS = all + +rtems_tests_PROGRAMS = mrfs_fserror +mrfs_fserror_SOURCES = ../fserror/test.c +mrfs_fserror_SOURCES += ../support/ramdisk_support.c +mrfs_fserror_SOURCES += ../support/fstest_support.c +mrfs_fserror_SOURCES += ../support/fstest_support.h +mrfs_fserror_SOURCES += ../support/ramdisk_support.h +mrfs_fserror_SOURCES += ../support/fstest.h +mrfs_fserror_SOURCES += ../../psxtests/include/pmacros.h +mrfs_fserror_SOURCES += ../mrfs_support/fs_support.c +mrfs_fserror_SOURCES += ../mrfs_support/fs_config.h + +#dist_rtems_tests_DATA = mrfs_fserror.scn +#dist_rtems_tests_DATA += mrfs_fserror.doc + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../automake/compile.am +include $(top_srcdir)/../automake/leaf.am + +mrfs_fserror_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel) + +AM_CPPFLAGS += -I$(top_srcdir)/support +AM_CPPFLAGS += -I$(top_srcdir)/mrfs_support +AM_CPPFLAGS += -I$(top_srcdir)/../support/include +AM_CPPFLAGS += -I$(top_srcdir)/../psxtests/include + +LINK_OBJS = $(mrfs_fserror_OBJECTS) $(mrfs_fserror_LDADD) +LINK_LIBS = $(mrfs_fserror_LDLIBS) + +mrfs_fserror$(EXEEXT): $(mrfs_fserror_OBJECTS) $(mrfs_fserror_DEPENDENCIES) + @rm -f mrfs_fserror$(EXEEXT) + $(make-exe) + +include $(top_srcdir)/../automake/local.am diff --git a/testsuites/fstests/mrfs_fslink/.cvsignore b/testsuites/fstests/mrfs_fslink/.cvsignore new file mode 100644 index 0000000000..282522db03 --- /dev/null +++ b/testsuites/fstests/mrfs_fslink/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/testsuites/fstests/mrfs_fslink/Makefile.am b/testsuites/fstests/mrfs_fslink/Makefile.am index 50269d20ee..889e1cb2ec 100644 --- a/testsuites/fstests/mrfs_fslink/Makefile.am +++ b/testsuites/fstests/mrfs_fslink/Makefile.am @@ -5,11 +5,15 @@ MANAGERS = all rtems_tests_PROGRAMS = mrfs_fslink -mrfs_fslink_SOURCES = ../fslink/test.c ../support/ramdisk_support.c\ - ../support/fstest_support.c ../support/fstest_support.h\ - ../support/ramdisk_support.h ../support/fstest.h ../../psxtests/include/pmacros.h \ - ../mrfs_support/fs_support.c ../mrfs_support/fs_config.h - +mrfs_fslink_SOURCES = ../fslink/test.c +mrfs_fslink_SOURCES += ../support/ramdisk_support.c +mrfs_fslink_SOURCES += ../support/fstest_support.c +mrfs_fslink_SOURCES += ../support/fstest_support.h +mrfs_fslink_SOURCES += ../support/ramdisk_support.h +mrfs_fslink_SOURCES += ../support/fstest.h +mrfs_fslink_SOURCES += ../../psxtests/include/pmacros.h +mrfs_fslink_SOURCES += ../mrfs_support/fs_support.c +mrfs_fslink_SOURCES += ../mrfs_support/fs_config.h #dist_rtems_tests_DATA = mrfs_fslink.scn #dist_rtems_tests_DATA += mrfs_fslink.doc diff --git a/testsuites/fstests/mrfs_fspatheval/.cvsignore b/testsuites/fstests/mrfs_fspatheval/.cvsignore new file mode 100644 index 0000000000..282522db03 --- /dev/null +++ b/testsuites/fstests/mrfs_fspatheval/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/testsuites/fstests/mrfs_fspatheval/Makefile.am b/testsuites/fstests/mrfs_fspatheval/Makefile.am new file mode 100644 index 0000000000..a092f0e775 --- /dev/null +++ b/testsuites/fstests/mrfs_fspatheval/Makefile.am @@ -0,0 +1,39 @@ +## +## $Id$ +## + +MANAGERS = all + +rtems_tests_PROGRAMS = mrfs_fspatheval +mrfs_fspatheval_SOURCES = ../fspatheval/test.c +mrfs_fspatheval_SOURCES += ../support/ramdisk_support.c +mrfs_fspatheval_SOURCES += ../support/fstest_support.c +mrfs_fspatheval_SOURCES += ../support/fstest_support.h +mrfs_fspatheval_SOURCES += ../support/ramdisk_support.h +mrfs_fspatheval_SOURCES += ../support/fstest.h +mrfs_fspatheval_SOURCES += ../../psxtests/include/pmacros.h +mrfs_fspatheval_SOURCES += ../mrfs_support/fs_support.c +mrfs_fspatheval_SOURCES += ../mrfs_support/fs_config.h + +#dist_rtems_tests_DATA = mrfs_fspatheval.scn +#dist_rtems_tests_DATA += mrfs_fspatheval.doc + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../automake/compile.am +include $(top_srcdir)/../automake/leaf.am + +mrfs_fspatheval_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel) + +AM_CPPFLAGS += -I$(top_srcdir)/support +AM_CPPFLAGS += -I$(top_srcdir)/mrfs_support +AM_CPPFLAGS += -I$(top_srcdir)/../support/include +AM_CPPFLAGS += -I$(top_srcdir)/../psxtests/include + +LINK_OBJS = $(mrfs_fspatheval_OBJECTS) $(mrfs_fspatheval_LDADD) +LINK_LIBS = $(mrfs_fspatheval_LDLIBS) + +mrfs_fspatheval$(EXEEXT): $(mrfs_fspatheval_OBJECTS) $(mrfs_fspatheval_DEPENDENCIES) + @rm -f mrfs_fspatheval$(EXEEXT) + $(make-exe) + +include $(top_srcdir)/../automake/local.am diff --git a/testsuites/fstests/mrfs_fspermission/.cvsignore b/testsuites/fstests/mrfs_fspermission/.cvsignore new file mode 100644 index 0000000000..282522db03 --- /dev/null +++ b/testsuites/fstests/mrfs_fspermission/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/testsuites/fstests/mrfs_fspermission/Makefile.am b/testsuites/fstests/mrfs_fspermission/Makefile.am new file mode 100644 index 0000000000..6756ede50f --- /dev/null +++ b/testsuites/fstests/mrfs_fspermission/Makefile.am @@ -0,0 +1,39 @@ +## +## $Id$ +## + +MANAGERS = all + +rtems_tests_PROGRAMS = mrfs_fspermission +mrfs_fspermission_SOURCES = ../fspermission/test.c +mrfs_fspermission_SOURCES += ../support/ramdisk_support.c +mrfs_fspermission_SOURCES += ../support/fstest_support.c +mrfs_fspermission_SOURCES += ../support/fstest_support.h +mrfs_fspermission_SOURCES += ../support/ramdisk_support.h +mrfs_fspermission_SOURCES += ../support/fstest.h +mrfs_fspermission_SOURCES += ../../psxtests/include/pmacros.h +mrfs_fspermission_SOURCES += ../mrfs_support/fs_support.c +mrfs_fspermission_SOURCES += ../mrfs_support/fs_config.h + +#dist_rtems_tests_DATA = mrfs_fspermission.scn +#dist_rtems_tests_DATA += mrfs_fspermission.doc + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../automake/compile.am +include $(top_srcdir)/../automake/leaf.am + +mrfs_fspermission_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel) + +AM_CPPFLAGS += -I$(top_srcdir)/support +AM_CPPFLAGS += -I$(top_srcdir)/mrfs_support +AM_CPPFLAGS += -I$(top_srcdir)/../support/include +AM_CPPFLAGS += -I$(top_srcdir)/../psxtests/include + +LINK_OBJS = $(mrfs_fspermission_OBJECTS) $(mrfs_fspermission_LDADD) +LINK_LIBS = $(mrfs_fspermission_LDLIBS) + +mrfs_fspermission$(EXEEXT): $(mrfs_fspermission_OBJECTS) $(mrfs_fspermission_DEPENDENCIES) + @rm -f mrfs_fspermission$(EXEEXT) + $(make-exe) + +include $(top_srcdir)/../automake/local.am diff --git a/testsuites/fstests/mrfs_fsrdwr/.cvsignore b/testsuites/fstests/mrfs_fsrdwr/.cvsignore new file mode 100644 index 0000000000..282522db03 --- /dev/null +++ b/testsuites/fstests/mrfs_fsrdwr/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/testsuites/fstests/mrfs_fsrdwr/Makefile.am b/testsuites/fstests/mrfs_fsrdwr/Makefile.am new file mode 100644 index 0000000000..165dd2316f --- /dev/null +++ b/testsuites/fstests/mrfs_fsrdwr/Makefile.am @@ -0,0 +1,39 @@ +## +## $Id$ +## + +MANAGERS = all + +rtems_tests_PROGRAMS = mrfs_fsrdwr +mrfs_fsrdwr_SOURCES = ../fsrdwr/init.c +mrfs_fsrdwr_SOURCES += ../support/ramdisk_support.c +mrfs_fsrdwr_SOURCES += ../support/fstest_support.c +mrfs_fsrdwr_SOURCES += ../support/fstest_support.h +mrfs_fsrdwr_SOURCES += ../support/ramdisk_support.h +mrfs_fsrdwr_SOURCES += ../support/fstest.h +mrfs_fsrdwr_SOURCES += ../../psxtests/include/pmacros.h +mrfs_fsrdwr_SOURCES += ../mrfs_support/fs_support.c +mrfs_fsrdwr_SOURCES += ../mrfs_support/fs_config.h + +#dist_rtems_tests_DATA = mrfs_fsrdwr.scn +#dist_rtems_tests_DATA += mrfs_fsrdwr.doc + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../automake/compile.am +include $(top_srcdir)/../automake/leaf.am + +mrfs_fsrdwr_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel) + +AM_CPPFLAGS += -I$(top_srcdir)/support +AM_CPPFLAGS += -I$(top_srcdir)/mrfs_support +AM_CPPFLAGS += -I$(top_srcdir)/../support/include +AM_CPPFLAGS += -I$(top_srcdir)/../psxtests/include + +LINK_OBJS = $(mrfs_fsrdwr_OBJECTS) $(mrfs_fsrdwr_LDADD) +LINK_LIBS = $(mrfs_fsrdwr_LDLIBS) + +mrfs_fsrdwr$(EXEEXT): $(mrfs_fsrdwr_OBJECTS) $(mrfs_fsrdwr_DEPENDENCIES) + @rm -f mrfs_fsrdwr$(EXEEXT) + $(make-exe) + +include $(top_srcdir)/../automake/local.am diff --git a/testsuites/fstests/mrfs_fssymlink/.cvsignore b/testsuites/fstests/mrfs_fssymlink/.cvsignore new file mode 100644 index 0000000000..282522db03 --- /dev/null +++ b/testsuites/fstests/mrfs_fssymlink/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/testsuites/fstests/mrfs_fssymlink/Makefile.am b/testsuites/fstests/mrfs_fssymlink/Makefile.am index 586e7187ff..130bc41a5f 100644 --- a/testsuites/fstests/mrfs_fssymlink/Makefile.am +++ b/testsuites/fstests/mrfs_fssymlink/Makefile.am @@ -5,11 +5,15 @@ MANAGERS = all rtems_tests_PROGRAMS = mrfs_fssymlink -mrfs_fssymlink_SOURCES = ../fssymlink/test.c ../support/ramdisk_support.c\ - ../support/fstest_support.c ../support/fstest_support.h\ - ../support/ramdisk_support.h ../support/fstest.h ../../psxtests/include/pmacros.h \ - ../mrfs_support/fs_support.c ../mrfs_support/fs_config.h - +mrfs_fssymlink_SOURCES = ../fssymlink/test.c +mrfs_fssymlink_SOURCES += ../support/ramdisk_support.c +mrfs_fssymlink_SOURCES += ../support/fstest_support.c +mrfs_fssymlink_SOURCES += ../support/fstest_support.h +mrfs_fssymlink_SOURCES += ../support/ramdisk_support.h +mrfs_fssymlink_SOURCES += ../support/fstest.h +mrfs_fssymlink_SOURCES += ../../psxtests/include/pmacros.h +mrfs_fssymlink_SOURCES += ../mrfs_support/fs_support.c +mrfs_fssymlink_SOURCES += ../mrfs_support/fs_config.h #dist_rtems_tests_DATA = mrfs_fssymlink.scn #dist_rtems_tests_DATA += mrfs_fssymlink.doc diff --git a/testsuites/fstests/mrfs_fstime/.cvsignore b/testsuites/fstests/mrfs_fstime/.cvsignore new file mode 100644 index 0000000000..282522db03 --- /dev/null +++ b/testsuites/fstests/mrfs_fstime/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/testsuites/fstests/mrfs_fstime/Makefile.am b/testsuites/fstests/mrfs_fstime/Makefile.am new file mode 100644 index 0000000000..2b664ef385 --- /dev/null +++ b/testsuites/fstests/mrfs_fstime/Makefile.am @@ -0,0 +1,39 @@ +## +## $Id$ +## + +MANAGERS = all + +rtems_tests_PROGRAMS = mrfs_fstime +mrfs_fstime_SOURCES = ../fstime/test.c +mrfs_fstime_SOURCES += ../support/ramdisk_support.c +mrfs_fstime_SOURCES += ../support/fstest_support.c +mrfs_fstime_SOURCES += ../support/fstest_support.h +mrfs_fstime_SOURCES += ../support/ramdisk_support.h +mrfs_fstime_SOURCES += ../support/fstest.h +mrfs_fstime_SOURCES += ../../psxtests/include/pmacros.h +mrfs_fstime_SOURCES += ../mrfs_support/fs_support.c +mrfs_fstime_SOURCES += ../mrfs_support/fs_config.h + +#dist_rtems_tests_DATA = mrfs_fstime.scn +#dist_rtems_tests_DATA += mrfs_fstime.doc + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../automake/compile.am +include $(top_srcdir)/../automake/leaf.am + +mrfs_fstime_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel) + +AM_CPPFLAGS += -I$(top_srcdir)/support +AM_CPPFLAGS += -I$(top_srcdir)/mrfs_support +AM_CPPFLAGS += -I$(top_srcdir)/../support/include +AM_CPPFLAGS += -I$(top_srcdir)/../psxtests/include + +LINK_OBJS = $(mrfs_fstime_OBJECTS) $(mrfs_fstime_LDADD) +LINK_LIBS = $(mrfs_fstime_LDLIBS) + +mrfs_fstime$(EXEEXT): $(mrfs_fstime_OBJECTS) $(mrfs_fstime_DEPENDENCIES) + @rm -f mrfs_fstime$(EXEEXT) + $(make-exe) + +include $(top_srcdir)/../automake/local.am |