Revision 4e4b8578415d14393693467516e0ceb59e95b10f authored by Igor Sugak on 13 February 2015, 23:10:47 UTC, committed by Igor Sugak on 13 February 2015, 23:10:47 UTC
Summary:
In the existing implementation of `ASSERT*`, test termination happens in `~Tester`, which is called when instance of `Tester` goes out of scope. This is the cause of many scan-build bugs.

This diff changes `ASSERT*` to terminate the test immediately. Also added one suppression in `util/signal_test.cc`

scan-build bugs
before: http://home.fburl.com/~sugak/latest/index.html
after: http://home.fburl.com/~sugak/latest2/index.html

Test Plan:
Modify some test to fail an assertion and make sure that `ASSERT*` terminated the test.

Run `make analyze` and make sure no 'Called C++ object pointer is null' and 'Dereference of null pointer' bugs reported.

Run tests and make sure no failing tests:
```lang=bash
% make check
% USE_CLANG=1 make check
```

Reviewers: meyering, lgalanis, sdong, rven, igor

Reviewed By: igor

Subscribers: dhruba, leveldb

Differential Revision: https://reviews.facebook.net/D33381
1 parent b3fd162
History
File Mode Size
build_tools
coverage
db
doc
examples
hdfs
include
java
linters
port
table
third-party
tools
util
utilities
.arcconfig -rw-r--r-- 246 bytes
.clang-format -rw-r--r-- 138 bytes
.gitignore -rw-r--r-- 469 bytes
.travis.yml -rw-r--r-- 1.0 KB
AUTHORS -rw-r--r-- 247 bytes
CONTRIBUTING.md -rw-r--r-- 733 bytes
HISTORY.md -rw-r--r-- 15.6 KB
INSTALL.md -rw-r--r-- 3.3 KB
LICENSE -rw-r--r-- 1.6 KB
Makefile -rw-r--r-- 32.1 KB
PATENTS -rw-r--r-- 1.4 KB
README.md -rw-r--r-- 1.2 KB
ROCKSDB_LITE.md -rw-r--r-- 1020 bytes
Vagrantfile -rw-r--r-- 285 bytes

README.md

back to top