summaryrefslogtreecommitdiffstats
path: root/compiler-rt/test/tsan/load_shared_lib.cc
Commit message (Collapse)AuthorAgeFilesLines
* tsan: fix test invisible barrierDmitry Vyukov2015-12-081-1/+1
| | | | | | | | | | | | | | | | | Another attempt at fixing tsan_invisible_barrier. Current implementation causes: https://llvm.org/bugs/show_bug.cgi?id=25643 There were several unsuccessful iterations for this functionality: Initially it was implemented in user code using REAL(pthread_barrier_wait). But pthread_barrier_wait is not supported on MacOS. Futexes are linux-specific for this matter. Then we switched to atomics+usleep(10). But usleep produced parasitic "as-if synchronized via sleep" messages in reports which failed some output tests. Then we switched to atomics+sched_yield. But this produced tons of tsan- visible events, which lead to "failed to restore stack trace" failures. Move implementation into runtime and use internal_sched_yield in the wait loop. This way tsan should see no events from the barrier, so not trace overflows and no "as-if synchronized via sleep" messages. llvm-svn: 255030
* tsan: remove sleeps from testsDmitry Vyukov2015-01-211-11/+19
| | | | | | | | Even sleep(1) lead to episodical flakes on some machines. Use an invisible by tsan barrier to enforce required execution order instead. This makes the tests deterministic and faster. llvm-svn: 226659
* [TSan] Make lit-tests more self-containedAlexey Samsonov2014-06-061-2/+20
| | | | llvm-svn: 210370
* tsan: make positive tests more robustDmitry Vyukov2014-05-301-1/+1
| | | | | | | | | | Add a script that is used to deflake inherently flaky tsan tests. It is invoked from lit tests as: %deflake %run %t The script runs the target program up to 10 times, until it produces a tsan warning. llvm-svn: 209898
* Add %run to all lit testsGreg Fitzgerald2014-04-301-1/+1
| | | | llvm-svn: 207709
* tsan: fix flaky testDmitry Vyukov2014-03-181-1/+5
| | | | llvm-svn: 204119
* Move TSan lit-tests under test/tsanAlexey Samsonov2014-02-141-0/+44
llvm-svn: 201414
OpenPOWER on IntegriCloud