test.c stuff
[nestedvm.git] / src / tests / Test.c
index 5b0dda0..2c70026 100644 (file)
@@ -98,6 +98,9 @@ int main(int argc, char **argv) {
     } else if(argc > 1 && strcmp(argv[1],"nullderef")==0) {
         volatile int *mem = 0;
         *mem = 1;
+    } else if(argc > 2 && strcmp(argv[1],"crashme") == 0) {
+        volatile int *mem = (int*) atoi(argv[2]);
+        *mem = 1;
     } else { 
         printf("%d\n", 0xffffff);
         printf("%u\n", 0xffffffU);
@@ -131,11 +134,16 @@ int main(int argc, char **argv) {
         printf("Tyring to mkdir .mkdirtest\n");
         if(mkdir(".mkdirtest",0700) < 0) perror("mkdir");
         
-        printf("Trying to opendir /\n");
-        dir = opendir("/");
+        printf("Trying to opendir .\n");
+        dir = opendir(".");
         if(dir) {
-            while((dent=readdir(dir))!=NULL)
-                printf("\t[%s] %lu\n",dent->d_name,dent->d_ino);
+            printf("Success!\n");
+            while((dent=readdir(dir))!=NULL) {
+                struct stat statbuf;
+                stat(dent->d_name,&statbuf);
+                printf("\t[%s] %lu %i %i\n",dent->d_name,dent->d_ino,statbuf.st_ino,statbuf.st_dev);
+            }
+            if(errno != 0) { fprintf(stderr,"readdir errno: %d\n",errno); perror("readdir"); }
             closedir(dir);
         } else {
             perror("opendir");
@@ -175,10 +183,42 @@ int main(int argc, char **argv) {
         }
     }
         
-    printf("exiting\n");
+    {
+        char buf[1024];
+        memcpy(buf,"Hello, World",sizeof("Hello, World"));
+        printf("%s\n",buf);
+    }
+    
+    {
+        
+#define HOST_BITS_PER_WIDE_INT 64
+#define HOST_WIDE_INT long long
+        
+        extern int ri(int n);
+        int precision = ri(8);
+        long long l;
+        
+        l = (precision - HOST_BITS_PER_WIDE_INT > 0
+             ? -1 : ((HOST_WIDE_INT) 1 << (precision - 1)) - 1),
+            (precision - HOST_BITS_PER_WIDE_INT - 1 > 0
+             ? (((HOST_WIDE_INT) 1
+                 << (precision - HOST_BITS_PER_WIDE_INT - 1))) - 1
+             : 0);
+        
+        printf("%llX\n",l);
+    }
+    
+    //printf("cwd: %s\n",getcwd(NULL,0));
+    //printf("isatty(0): %d\n",isatty(0));
+    //printf("exiting\n");
     return 0;
 }
 
+long long zero = 0;
+int izero = 0;
+long long rl(long long n) { return n + zero; }
+int ri(int n) { return n + izero; }
+
 void suckram() {
     int total = 0;
     fprintf(stderr,"Eating up all available memory\n");