diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2017-04-16 16:02:53 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2017-04-16 16:02:53 +0000 |
| commit | ab0bf875a5f328a6710f4e48258979ae1bc8da1c (patch) | |
| tree | 66903cf9f73151825893dcc216b04c0930317a10 /test/asan/TestCases/Linux/coverage-missing.cc | |
| parent | abacad30a54c59ad437ccf54ec5236a8dd7f3ba9 (diff) | |
Notes
Diffstat (limited to 'test/asan/TestCases/Linux/coverage-missing.cc')
| -rw-r--r-- | test/asan/TestCases/Linux/coverage-missing.cc | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/test/asan/TestCases/Linux/coverage-missing.cc b/test/asan/TestCases/Linux/coverage-missing.cc index 49487d39a15b..16093498fa2c 100644 --- a/test/asan/TestCases/Linux/coverage-missing.cc +++ b/test/asan/TestCases/Linux/coverage-missing.cc @@ -8,40 +8,42 @@ // RUN: %env_asan_opts=coverage=1:coverage_dir=%T/coverage-missing %run %t // RUN: %sancov print *.sancov > main.txt // RUN: rm *.sancov -// RUN: [ $(cat main.txt | wc -l) == 1 ] +// RUN: count 1 < main.txt // RUN: %env_asan_opts=coverage=1:coverage_dir=%T/coverage-missing %run %t x // RUN: %sancov print *.sancov > foo.txt // RUN: rm *.sancov -// RUN: [ $(cat foo.txt | wc -l) == 3 ] +// RUN: count 3 < foo.txt // RUN: %env_asan_opts=coverage=1:coverage_dir=%T/coverage-missing %run %t x x // RUN: %sancov print *.sancov > bar.txt // RUN: rm *.sancov -// RUN: [ $(cat bar.txt | wc -l) == 4 ] +// RUN: count 4 < bar.txt // RUN: %sancov missing %t < foo.txt > foo-missing.txt // RUN: sort main.txt foo-missing.txt -o foo-missing-with-main.txt // The "missing from foo" set may contain a few bogus PCs from the sanitizer // runtime, but it must include the entire "bar" code path as a subset. Sorted // lists can be tested for set inclusion with diff + grep. -// RUN: ( diff bar.txt foo-missing-with-main.txt || true ) | not grep "^<" +// RUN: diff bar.txt foo-missing-with-main.txt > %t.log || true +// RUN: not grep "^<" %t.log // Second case: coverage from DSO. // cd %T // RUN: %clangxx_asan -fsanitize-coverage=func %s -o %dynamiclib -DFOOBAR -shared -fPIC // RUN: %clangxx_asan -fsanitize-coverage=func %s %dynamiclib -o %t -DMAIN -// RUN: export LIBNAME=`basename %dynamiclib` +// RUN: cd .. // RUN: rm -rf %T/coverage-missing // RUN: mkdir -p %T/coverage-missing // RUN: cd %T/coverage-missing // RUN: %env_asan_opts=coverage=1:coverage_dir=%T/coverage-missing %run %t x -// RUN: %sancov print $LIBNAME.*.sancov > foo.txt +// RUN: %sancov print %xdynamiclib_filename.*.sancov > foo.txt // RUN: rm *.sancov -// RUN: [ $(cat foo.txt | wc -l) == 2 ] +// RUN: count 2 < foo.txt // RUN: %env_asan_opts=coverage=1:coverage_dir=%T/coverage-missing %run %t x x -// RUN: %sancov print $LIBNAME.*.sancov > bar.txt +// RUN: %sancov print %xdynamiclib_filename.*.sancov > bar.txt // RUN: rm *.sancov -// RUN: [ $(cat bar.txt | wc -l) == 3 ] +// RUN: count 3 < bar.txt // RUN: %sancov missing %dynamiclib < foo.txt > foo-missing.txt -// RUN: ( diff bar.txt foo-missing.txt || true ) | not grep "^<" +// RUN: diff bar.txt foo-missing.txt > %t.log || true +// RUN: not grep "^<" %t.log // REQUIRES: x86-target-arch // XFAIL: android |
