int EROFS_setup(void)
{
int output= -1;
+
output=yaffs_remount(YAFFS_MOUNT_POINT,1,1);
if (output<0){
print_message("failed to remount yaffs\n",2);
/*same as forcing the rmdir of a directory*/
int delete_dir(char *dir_name)
{
+ char message[200];
yaffs_DIR *d;
struct yaffs_dirent *de;
struct yaffs_stat s;
char str[100];
d = yaffs_opendir(dir_name);
- printf("%s\n",dir_name);
+ //printf("%s\n",dir_name);
if(!d)
{
- printf("%s\n",dir_name);
- print_message("failed to open dir\n",2);
+ sprintf(message,"\nfailed to open dir %s \n was trying to delete this",dir_name);
+ print_message(message,1);
+
+
get_error();
return -1;
}
int y= 0;
char message[200];
message[0]='\0';
- printf ("making test dir %d\n",yaffs_mkdir(TEST_DIR,S_IWRITE | S_IREAD));
+ yaffs_mkdir(TEST_DIR,S_IWRITE | S_IREAD);
yaffs_set_error(0); /*reset the last error to 0 */
//printf("foo exists %d\n",test_yaffs_open());
sprintf(message,"\nrunning test: %s \n",test_list[x].name_of_test);
num_of_tests_pass++;
} else {
/*test is assumed to have failed*/
- //printf("test failed\n");
+ printf("test failed\n");
sprintf(message,"test: %s failed\n",test_list[x].name_of_test);
print_message(message,1);
num_of_tests_failed ++;
#include "test_yaffs_read.h"
#include "test_yaffs_read_EBADF.h"
-#include "test_yaffs_read_EINVAL.h"
+//#include "test_yaffs_read_EINVAL.h"
#include "test_yaffs_lseek.h"
#include "test_yaffs_lseek_EBADF.h"
{test_yaffs_read,test_yaffs_read_clean,"test_yaffs_read"},
{test_yaffs_read_EBADF,test_yaffs_read_EBADF_clean,"test_yaffs_read_EBADF"},
- {test_yaffs_read_EINVAL,test_yaffs_read_EINVAL_clean,"test_yaffs_read_EINVAL"},
+// {test_yaffs_read_EINVAL,test_yaffs_read_EINVAL_clean,"test_yaffs_read_EINVAL"},
{test_yaffs_stat,test_yaffs_stat_clean,"test_yaffs_stat"},
{test_yaffs_stat_ENOENT,test_yaffs_stat_ENOENT_clean,"test_yaffs_stat_ENOENT"},
int test_yaffs_access(void)
{
- return yaffs_access(FILE_PATH,0);
+
+ if (-1==yaffs_close(yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE))){
+ print_message("failed to create file\n",1);
+ return -1;
+ }
+ return yaffs_access(FILE_PATH,0);
}
int test_yaffs_access_clean(void)
{
int output=0;
int error=0;
+ if (yaffs_close(yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE))==-1){
+ print_message("failed to create file before remounting\n",1);
+ return -1;
+ }
output=yaffs_chmod(FILE_PATH,S_IREAD);
if (output<0){
print_message("failed to chmod file\n",2);
{
int output=0;
int error_code=0;
-
- output=yaffs_access("/yaffs2/foo/file",0);
+ if (yaffs_close(yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE))==-1){
+ print_message("failed to create file\n",1);
+ return -1;
+ }
+ output=yaffs_access("/yaffs2/test_dir/foo/file",0);
if (output==-1){
error_code=yaffs_get_error();
if (abs(error_code)==ENOTDIR){
{
int output=0;
int error=0;
+ if (yaffs_close(yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE))==-1){
+ print_message("failed to create file before remounting\n",1);
+ return -1;
+ }
if (EROFS_setup() < 0 ){
return -1;
}
int test_yaffs_chmod(void)
{
- int output=yaffs_chmod(FILE_PATH,S_IREAD|S_IWRITE);
+ int output=0;
+ if (yaffs_close(yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE))==-1){
+ print_message("failed to create file\n",1);
+ return -1;
+ }
+
+ output=yaffs_chmod(FILE_PATH,S_IREAD|S_IWRITE);
if (output>=0){
/* there were no errors */
int test_yaffs_chmod_ENOTDIR(void)
{
int error=0;
- int output=yaffs_chmod("/yaffs2/foo/file",S_IREAD|S_IWRITE);
+ if (yaffs_close(yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE))==-1){
+ print_message("failed to create file\n",1);
+ return -1;
+ }
+ int output=yaffs_chmod("/yaffs2/test_dir/foo/file",S_IREAD|S_IWRITE);
if (output<0){
error=yaffs_get_error();
{
int error=0;
int output;
-
+ if (yaffs_close(yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE))==-1){
+ print_message("failed to create file\n",1);
+ return -1;
+ }
EROFS_setup();
output = yaffs_chmod(FILE_PATH,S_IREAD|S_IWRITE);
{
int error = 0;
int output = 0;
+ if (yaffs_close(yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE))==-1){
+ print_message("failed to create file\n",1);
+ return -1;
+ }
if (EROFS_setup() < 0 ){
return -1;
}
{
int output = 0;
int error_code = 0;
+ if (yaffs_close(yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE))==-1){
+ print_message("failed to create file\n",1);
+ return -1;
+ }
EROFS_setup();
handle = yaffs_open(FILE_PATH,O_CREAT ,S_IREAD );
if (handle<0){
{
int output=0;
int error =0;
+ if (yaffs_close(yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE))==-1){
+ print_message("failed to create file\n",1);
+ return -1;
+ }
EROFS_setup();
handle = yaffs_open(FILE_PATH,O_CREAT ,S_IREAD );
if (handle<0){
{
int output = 0;
int error_code = 0;
-
+ if (yaffs_close(yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE))==-1){
+ print_message("failed to create file\n",1);
+ return -1;
+ }
EROFS_setup();
handle = yaffs_open(FILE_PATH,O_CREAT ,S_IREAD );
if (handle<0){
output = yaffs_fsync(handle);
if (output==-1){
error_code=yaffs_get_error();
+
if (abs(error_code)==EROFS){
return 1;
} else {
int test_yaffs_link(void)
{
int output=0;
+ if (yaffs_close(yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE))==-1){
+ print_message("failed to create file\n",1);
+ return -1;
+ }
output = yaffs_link(FILE_PATH,HARD_LINK_PATH);
return output;
}
{
int output=0;
int error =0;
-
+ if (yaffs_close(yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE))==-1){
+ print_message("failed to create file\n",1);
+ return -1;
+ }
output = yaffs_link(FILE_PATH,HARD_LINK_PATH);
if (output<0){
print_message("failed to create the first hard link\n",2);
{
int output=0;
int error =0;
- output = yaffs_link("/yaffs2/foo/file",HARD_LINK_PATH);
+ if (yaffs_close(yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE))==-1){
+ print_message("failed to create file\n",1);
+ return -1;
+ }
+ output = yaffs_link("/yaffs2/test_dir/foo/file",HARD_LINK_PATH);
if (output<0){
error=yaffs_get_error();
if (abs(error)==ENOTDIR){
{
int output=0;
int error =0;
- output = yaffs_link(FILE_PATH,"yaffs2/foo/hard_link");
+ if (yaffs_close(yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE))==-1){
+ print_message("failed to create file\n",1);
+ return -1;
+ }
+ output = yaffs_link(FILE_PATH,"yaffs2/test_dir/foo/hard_link");
if (output<0){
error=yaffs_get_error();
if (abs(error)==ENOTDIR){
{
int output=0;
int error =0;
-
+ if (yaffs_close(yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE))==-1){
+ print_message("failed to create file\n",1);
+ return -1;
+ }
EROFS_setup();
output = yaffs_link(FILE_PATH,HARD_LINK_PATH);
}
}
- output =yaffs_lstat("yaffs2/foo/dir",&stat);
+ output =yaffs_lstat("yaffs2/test_dir/foo/dir",&stat);
if (output<0){
error_code=yaffs_get_error();
if (abs(error_code)==ENOTDIR){
{
int error_code = 0;
- if (0==yaffs_access(DIR_PATH,0)){
- /* if the file exists then the file does not need to be created the first time*/
-
- } else {
-
- output = yaffs_mkdir(DIR_PATH,O_CREAT | O_RDWR);
- if (output <0) {
- print_message("failed to create the directory the first time\n",2);
- return -1;
- }
+ output = yaffs_mkdir(DIR_PATH,O_CREAT | O_RDWR);
+ if (output <0) {
+ print_message("failed to create the directory the first time\n",2);
+ return -1;
}
-
- output = yaffs_mkdir("/yaffs2/new_directory/",O_CREAT | O_RDWR);
+ output = yaffs_mkdir("/yaffs2/test_dir/new_directory/",O_CREAT | O_RDWR);
if (output < 0){
error_code = yaffs_get_error();
if (abs(error_code) == EEXIST){
{
int error_code = 0;
-
- output = yaffs_mkdir("/yaffs2/foo/new_directory/",O_CREAT | O_RDWR);
+ if (yaffs_close(yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE))==-1){
+ print_message("failed to create file\n",1);
+ return -1;
+ }
+ output = yaffs_mkdir("/yaffs2/test_dir/foo/new_directory/",O_CREAT | O_RDWR);
if (output < 0){
error_code = yaffs_get_error();
if (abs(error_code) == ENOTDIR){
{
int output = 0;
output = yaffs_mount(YAFFS_MOUNT_POINT);
+ yaffs_mkdir(TEST_DIR,S_IWRITE | S_IREAD);
+
return output;
}
* published by the Free Software Foundation.
*/
+/*this is no longer relevent because it is not possiable to read -1 bytes*/
+
#include "test_yaffs_read_EINVAL.h"
static int handle = -1;
int test_yaffs_read_EINVAL(void)
{
int error_code = 0;
- handle=yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE);
char text[2000000];
int output=0;
-
+ /*if (yaffs_close(yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE))==-1){
+ print_message("failed to create file before remounting\n",1);
+ return -1;
+ }*/
+ handle=yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE);
+
if (handle<0){
print_message("could not open file\n",2);
return -1;
{
int output=0;
int error_code =0;
-
+ if (yaffs_close(yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE))==-1){
+ print_message("failed to create file\n",1);
+ return -1;
+ }
if (0 != yaffs_access(DIR_PATH,0)) {
output = yaffs_mkdir(DIR_PATH,S_IWRITE | S_IREAD);
if (output < 0) {
}
}
}
- output= yaffs_open("/yaffs2/dir2/file",O_CREAT | O_RDWR, FILE_MODE);
+ output= yaffs_open("/yaffs2/test_dir/dir2/file",O_CREAT | O_RDWR, FILE_MODE);
if (output<0){
print_message("failed to open file in the second directory\n",2);
return -1;
{
int output=0;
int error_code =0;
-
+ if (yaffs_close(yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE))==-1){
+ print_message("failed to create file\n",1);
+ return -1;
+ }
if (0 != yaffs_access(DIR_PATH,0)) {
output = yaffs_mkdir(DIR_PATH,S_IWRITE | S_IREAD);
if (output < 0) {
return -1;
}
}
- output = yaffs_rename(DIR_PATH , "/yaffs2/new_directory/dir/");
+ output = yaffs_rename(DIR_PATH , "/yaffs2/test_dir/new_directory/dir/");
if (output<0){
error_code=yaffs_get_error();
if (abs(error_code)==EINVAL){
{
int output=0;
int error_code =0;
-
+ if (yaffs_close(yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE))==-1){
+ print_message("failed to create file\n",1);
+ return -1;
+ }
if (0 != yaffs_access(DIR_PATH,0)) {
output = yaffs_mkdir(DIR_PATH,S_IWRITE | S_IREAD);
if (output < 0) {
return -1;
}
}
- output = yaffs_rename("yaffs2/foo/file" , RENAME_PATH);
+ output = yaffs_rename("yaffs2/test_dir/foo/file" , RENAME_PATH);
if (output<0){
error_code=yaffs_get_error();
if (abs(error_code)==ENOTDIR){
{
int output=0;
int error_code =0;
+ if (yaffs_close(yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE))==-1){
+ print_message("failed to create file\n",1);
+ return -1;
+ }
EROFS_setup();
output = yaffs_rename(FILE_PATH , RENAME_PATH);
if (output<0){
int error_code =0;
if (0 != yaffs_access(DIR_PATH,0)) {
- output = mkdir(DIR_PATH,S_IREAD | S_IWRITE);
+ output = yaffs_mkdir(DIR_PATH,S_IREAD | S_IWRITE);
if (output < 0) {
print_message("failed to create dir\n",2);
return -1;
}
}
- output = yaffs_rename( DIR_PATH , "/yaffs2/nonexisting-dir/dir");
+ output = yaffs_rename( DIR_PATH , "/yaffs2/test_dir/nonexisting-dir/dir");
if (output<0){
error_code=yaffs_get_error();
if (abs(error_code)==ENOENT){
return -1;
}
} else{
- print_message("removed /yaffs2/ directory (which is a bad thing)\n",2);
+ print_message("removed /yaffs2/test_dir/ directory (which is a bad thing)\n",2);
return -1;
}
int test_yaffs_rename_file_to_dir(void)
{
int output=0;
-
+ if (yaffs_close(yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE))==-1){
+ print_message("failed to create file\n",1);
+ return -1;
+ }
if (0 != yaffs_access(FILE_PATH,0)) {
output = test_yaffs_open();
if (output < 0) {
return -1;
}
}
- output = yaffs_rename( "/yaffs2/foo" , RENAME_DIR_PATH);
- if (output<0){
- print_message("failed to rename a file over an empty directory\n",2);
- return -1;
- } else{
- return 1;
- }
+ return 1;
}
int test_yaffs_rename_file_to_dir_clean(void)
{
- int output = 0;
- test_yaffs_open();
- if (0 == yaffs_access(RENAME_DIR_PATH,0)) {
- output = yaffs_unlink(RENAME_DIR_PATH);
- if (output < 0) {
- print_message("failed to unlink the file\n",2);
- return -1;
- }
- output = test_yaffs_open();
- if (output < 0) {
- print_message("failed to open a new\n",2);
- return -1;
- }
- }
+
return 1;
}
{
int output=0;
int error_code =0;
-
+ if (yaffs_close(yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE))==-1){
+ print_message("failed to create file\n",1);
+ return -1;
+ }
if (0 != yaffs_access(DIR_PATH,0)) {
output = yaffs_mkdir(DIR_PATH,S_IWRITE | S_IREAD);
if (output < 0) {
return -1;
}
}
- output = yaffs_rmdir("/yaffs2/foo/dir/");
+ output = yaffs_rmdir("/yaffs2/test_dir/foo/dir/");
if (output<0){
error_code=yaffs_get_error();
if (abs(error_code)==ENOTDIR){
{
int output=0;
int error_code =0;
-
+ if (yaffs_close(yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE))==-1){
+ print_message("failed to create file\n",1);
+ return -1;
+ }
if (0 != yaffs_access(DIR_PATH,0)) {
output = yaffs_mkdir(DIR_PATH,S_IWRITE | S_IREAD);
if (output < 0) {
return -1;
}
}
- if (0 != yaffs_access("/yaffs2/new_directory/dir",0)) {
- output = yaffs_mkdir("/yaffs2/new_directory/dir",S_IWRITE | S_IREAD);
+ if (0 != yaffs_access("/yaffs2/test_dir/new_directory/dir",0)) {
+ output = yaffs_mkdir("/yaffs2/test_dir/new_directory/dir",S_IWRITE | S_IREAD);
if (output < 0) {
print_message("failed to create directory\n",2);
return -1;
{
int output = -1;
int output2 = -1;
- if (0 == yaffs_access("/yaffs2/new_directory/dir",0)) {
- output = yaffs_rmdir("/yaffs2/new_directory/dir");
+ if (0 == yaffs_access("/yaffs2/test_dir/new_directory/dir",0)) {
+ output = yaffs_rmdir("/yaffs2/test_dir/new_directory/dir");
if (output < 0) {
print_message("failed to remove the directory\n",2);
output=1;
int size=0;
message[0]='\0';
struct yaffs_stat stat;
-
+ if (yaffs_close(yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE))==-1){
+ print_message("failed to create file \n",1);
+ return -1;
+ }
return yaffs_stat(FILE_PATH, &stat);
}
int output=0;
char text[100];
text[0] ='\0';
- output=yaffs_stat("/yaffs2/foo/file", &stat);;
+ if (yaffs_close(yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE))==-1){
+ print_message("failed to create file\n",1);
+ return -1;
+ }
+ output=yaffs_stat("/yaffs2/test_dir/foo/file", &stat);;
if (output<0){
error_code=yaffs_get_error();
if (abs(error_code)==ENOTDIR){
int test_yaffs_symlink_ENOTDIR(void)
{
int error_code = 0;
- output = yaffs_symlink(FILE_PATH,"yaffs2/foo/sym_link");
+ if (yaffs_close(yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE))==-1){
+ print_message("failed to create file\n",1);
+ return -1;
+ }
+ output = yaffs_symlink(FILE_PATH,"yaffs2/test_dir/foo/sym_link");
if (output<0){
error_code=yaffs_get_error();
if (abs(error_code)==ENOTDIR){
{
int error=0;
int output=0;
-
- output= yaffs_truncate("/yaffs2/foo",-1 );
+ if (yaffs_close(yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE))==-1){
+ print_message("failed to create file \n",1);
+ return -1;
+ }
+ output= yaffs_truncate(FILE_PATH,-1 );
if (output<0){
error=yaffs_get_error();
if (abs(error)==EINVAL){
{
int error=0;
int output=0;
+ if (yaffs_close(yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE))==-1){
+ print_message("failed to create file \n",1);
+ return -1;
+ }
-
- output= yaffs_truncate("/yaffs2/foo/file",FILE_SIZE_TRUNCATED );
+ output= yaffs_truncate("/yaffs2/test_dir/foo/file",FILE_SIZE_TRUNCATED );
if (output<0){
error=yaffs_get_error();
if (abs(error)==ENOTDIR){
{
int error=0;
int output=0;
-
+ if (yaffs_close(yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE))==-1){
+ print_message("failed to create file \n",1);
+ return -1;
+ }
EROFS_setup();
output= yaffs_truncate(FILE_PATH,FILE_SIZE_TRUNCATED );
int test_yaffs_unlink(void)
{
+ if (yaffs_close(yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE))==-1){
+ print_message("failed to create file before remounting\n",1);
+ return -1;
+ }
int output=yaffs_unlink(FILE_PATH);
if (output>=0){
return (-test_yaffs_access()); /*return negative access. we do not want the file to be there*/
{
int output=0;
int error_code=0;
-
- output=yaffs_unlink("/yaffs2/foo/file");
+ if (yaffs_close(yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE))==-1){
+ print_message("failed to create file before remounting\n",1);
+ return -1;
+ }
+ output=yaffs_unlink("/yaffs2/test_dir/foo/file");
if (output==-1){
error_code=yaffs_get_error();
if (abs(error_code)==ENOTDIR){
{
int error_code=0;
-
+ if (yaffs_close(yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE))==-1){
+ print_message("failed to create file before remounting\n",1);
+ return -1;
+ }
EROFS_setup();
output=yaffs_unlink(FILE_PATH);