yaffs Expanding the the test direct/timothy_tests/threading
authorTimothy Manning <tfhmanning@gmail.com>
Thu, 6 Jan 2011 23:58:38 +0000 (12:58 +1300)
committerTimothy Manning <tfhmanning@gmail.com>
Thu, 6 Jan 2011 23:58:38 +0000 (12:58 +1300)
Signed-off-by: Timothy Manning <tfhmanning@gmail.com>
direct/timothy_tests/threading/lib.c
direct/timothy_tests/threading/test_a.c

index 6456958..55084a2 100644 (file)
@@ -12,7 +12,7 @@
  */
 
 #include "lib.h"
-static unsigned int *p_counter;
+static volatile unsigned int *p_counter;
 static unsigned int numberOfThreads=5;
 
 unsigned int get_num_of_threads(void)
@@ -37,6 +37,6 @@ void set_counter(int x, unsigned int value)
 
 void init_counter(unsigned int size_of_counter)
 {
-       p_counter=malloc(size_of_counter*sizeof(int));
+       p_counter=malloc(size_of_counter*sizeof(unsigned int));
 }
 
index 391530c..5e1af54 100644 (file)
@@ -26,7 +26,7 @@ void test_a(void *x)
        int pos;
        int n;
        int n1;
-       
+       struct yaffs_stat stat_buffer;
        char name[200];
        char name1[200];
        
@@ -90,9 +90,133 @@ void test_a(void *x)
                yaffs_rmdir(name);
                return;
        }
+       op-=1;
+       if(op < 0){
+               yaffs_rmdir(name);
+               return;
+       }
+       op -=1;
+       if(op < 0){
+               if(bc->h[i]>= 0){
+                       yaffs_fsync(bc->h[i]);
+                       return;
+               }
+       }
+       op -=1;
+       if(op < 0){
+               if(bc->h[i]>= 0){
+                       yaffs_fdatasync(bc->h[i]);
+                       return;
+               }
+       }
+       op -=1;
+       if(op < 0){
+               if(bc->h[i]>= 0){
+                       yaffs_flush(bc->h[i]);
+                       return;
+               }
+       }
 
-       bc->opMax = (start_op - op -1);
-       
+       op -=1;
+       if(op < 0){
+               if((bc->h[i]>= 0) && (bc->h[i+1] < 0)){
+                       bc->h[i+1]=yaffs_dup(bc->h[i]);
+                       return;
+               }
+       }
+       op -=1;
+       if(op < 0){
+               if(bc->h[i]>= 0){
+                       yaffs_ftruncate(bc->h[i],n);
+                       return;
+               }
+       }
+
+       op -=1;
+       if(op < 0){
+               if(bc->h[i]>= 0){
+                       yaffs_fstat(bc->h[i],&stat_buffer);
+                       yaffs_fchmod(bc->h[i], n);
+                       yaffs_fchmod(bc->h[i], ((S_IREAD|S_IWRITE)&(stat_buffer.st_mode)));
+               }
+       }
+       op -=1;
+       if(op < 0){
+               if(bc->h[i]>= 0){
+                       yaffs_stat(name,&stat_buffer);
+                       yaffs_chmod(name, n);
+                       yaffs_chmod(name, ((S_IREAD|S_IWRITE)&(stat_buffer.st_mode)));
+               }
+       }
+       op -=1;
+       if(op < 0){
+               if(bc->h[i]>= 0){
+                       yaffs_lstat(name,&stat_buffer);
+               }
+       }
+       op -=1;
+       if(op < 0){
+               if(bc->h[i]>= 0){
+                       yaffs_read(bc->h[i],name,n);
+                       return;
+               }
+       }
+       op -=1;
+       if(op < 0){
+               if(bc->h[i]>= 0){
+                       yaffs_pread(bc->h[i],name,n,n1);
+                       return;
+               }
+       }
+       op -=1;
+       if(op < 0){
+               if(bc->h[i]>= 0){
+                       yaffs_write(bc->h[i],name,n);
+                       return;
+               }
+       }
+       op -=1;
+       if(op < 0){
+               if(bc->h[i]>= 0){
+                       yaffs_pwrite(bc->h[i],name,n,n1);
+                       return;
+               }
+       }
+       op -=1;
+       if(op < 0){
+               if(bc->h[i]>= 0){
+                       yaffs_truncate(name,n);
+                       return;
+               }
+       }
+       op -=1;
+       if(op < 0){
+               if(bc->h[i]>= 0){
+                       yaffs_access(name,n);
+                       return;
+               }
+       }
+       op -=1;
+       if(op < 0){
+               if(bc->h[i]>= 0){
+                       yaffs_symlink(name,name1);
+                       return;
+               }
+       }
+       op -=1;
+       if(op < 0){
+               if(bc->h[i]>= 0){
+                       yaffs_link(name,name1);
+                       return;
+               }
+       }
+               op -=1;
+       if(op < 0){
+               if(bc->h[i]>= 0){
+                       yaffs_unlink(name);
+                       return;
+               }
+       }
        return;         
        
 }