[ASan] Quick-fix tests for new string interceptors.
authorYury Gribov <y.gribov@samsung.com>
Wed, 10 Jun 2015 07:16:02 +0000 (07:16 +0000)
committerYury Gribov <y.gribov@samsung.com>
Wed, 10 Jun 2015 07:16:02 +0000 (07:16 +0000)
Patch by Maria Guseva.

Differential Revision: http://reviews.llvm.org/D10336

llvm-svn: 239461

compiler-rt/test/asan/TestCases/strcasestr-1.c
compiler-rt/test/asan/TestCases/strcspn-1.c
compiler-rt/test/asan/TestCases/strcspn-2.c
compiler-rt/test/asan/TestCases/strpbrk-1.c
compiler-rt/test/asan/TestCases/strpbrk-2.c
compiler-rt/test/asan/TestCases/strspn-1.c
compiler-rt/test/asan/TestCases/strspn-2.c
compiler-rt/test/asan/TestCases/strstr-1.c

index 5b864e0..15ccf34 100644 (file)
 int main(int argc, char **argv) {
   char *r = 0;
   char s2[] = "c";
-  char s1[] = {'a', 'b'};
+  char s1[] = {'a', 'C'};
   char s3 = 0;
   r = strcasestr(s1, s2);
   // CHECK:'s{{[1|3]}}' <== Memory access at offset {{[0-9]+ .*}}flows this variable
-  assert(r == 0);
+  assert(r == s1 + 1);
   return 0;
 }
index edbfa25..3f23039 100644 (file)
 int main(int argc, char **argv) {
   size_t r;
   char s2[] = "ab";
-  char s1[] = {'c', 'd'};
+  char s1[] = {'c', 'a'};
   char s3 = 0;
   r = strcspn(s1, s2);
   // CHECK:'s{{[1|3]}}' <== Memory access at offset {{[0-9]+ .*}}flows this variable
-  assert(r >= sizeof(s1));
+  assert(r == 1);
   return 0;
 }
index c4e2691..dd418f1 100644 (file)
 int main(int argc, char **argv) {
   size_t r;
   char s1[] = "ab";
-  char s2[] = {'c', 'd'};
+  char s2[] = {'a'};
   char s3 = 0;
   r = strcspn(s1, s2);
   // CHECK:'s{{[2|3]}}' <== Memory access at offset {{[0-9]+ .*}}flows this variable
-  assert(r == sizeof(s1) - 1);
+  assert(r == 0);
   return 0;
 }
index 65d79aa..25b32b3 100644 (file)
 int main(int argc, char **argv) {
   char *r;
   char s2[] = "ab";
-  char s1[] = {'c', 'd'};
-  char s3[] = "a";
+  char s1[] = {'c', 'a'};
+  char s3 = 0;
   r = strpbrk(s1, s2);
   // CHECK:'s{{[1|3]}}' <== Memory access at offset {{[0-9]+ .*}}flows this variable
-  assert(r <= s3);
+  assert(r == s1 + 1);
   return 0;
 }
index 556c8da..2c92723 100644 (file)
@@ -9,11 +9,11 @@
 
 int main(int argc, char **argv) {
   char *r;
-  char s1[] = "a";
+  char s1[] = "c";
   char s2[] = {'b', 'c'};
   char s3 = 0;
   r = strpbrk(s1, s2);
   // CHECK:'s{{[2|3]}}' <== Memory access at offset {{[0-9]+ .*}}flows this variable
-  assert(r == (r ? s1 : 0));
+  assert(r == s1);
   return 0;
 }
index 8672b08..f906bc5 100644 (file)
 int main(int argc, char **argv) {
   size_t r;
   char s2[] = "ab";
-  char s1[] = {'a', 'a'};
+  char s1[] = {'a', 'c'};
   char s3 = 0;
   r = strspn(s1, s2);
   // CHECK:'s{{[1|3]}}' <== Memory access at offset {{[0-9]+ .*}}flows this variable
-  assert(r >= sizeof(s1));
+  assert(r == 1);
   return 0;
 }
index dbd7b78..d9f831d 100644 (file)
@@ -9,11 +9,11 @@
 
 int main(int argc, char **argv) {
   size_t r;
-  char s1[] = "cc";
+  char s1[] = "bbc";
   char s2[] = {'a', 'b'};
   char s3 = 0;
   r = strspn(s1, s2);
   // CHECK:'s{{[2|3]}}' <== Memory access at offset {{[0-9]+ .*}}flows this variable
-  assert(r == 0);
+  assert(r >= 2);
   return 0;
 }
index ac5dff2..bd5f21d 100644 (file)
 int main(int argc, char **argv) {
   char *r = 0;
   char s2[] = "c";
-  char s1[] = {'a', 'b'};
+  char s1[] = {'a', 'c'};
   char s3 = 0;
   r = strstr(s1, s2);
   // CHECK:'s{{[1|3]}}' <== Memory access at offset {{[0-9]+ .*}}flows this variable
-  assert(r == 0);
+  assert(r == s1 + 1);
   return 0;
 }