sapling/eden/fs/utils/test
Adam Simpkins 37fd4f5cfb add a fault injection framework
Summary:
Add a new class for injecting faults into Eden.  This will make it easier to
build tests that exercise specific error conditions or specifically control
the ordering of operations that might otherwise race.

To minimize the performance impact, the fault injection framework is disabled
by default and must be explicitly enabled at process startup using a command
line flag.  If this command line flag was not specified all fault injection
checks short-circuit into a no-op.  The `checkAsync()` version does still add
some extra overhead due to the addition of a new `folly::SemiFuture` into the
code path.

Reviewed By: wez

Differential Revision: D14079489

fbshipit-source-id: 3e8725d2e51e5c829199a602e90574424ea52636
2019-02-15 19:27:17 -08:00
..
test-data Support reporting of additional statistics 2018-06-20 09:06:16 -07:00
BenchmarkMain.cpp introduce a ProcessAccessLog 2018-09-05 15:06:58 -07:00
BucketedLogTest.cpp Add a BucketedLog for recording pid accesses by second 2018-09-05 15:06:57 -07:00
BugTest.cpp remove eden/fs/utils/test/TestChecks.h 2017-11-15 12:53:55 -08:00
CoverageSetTest.cpp use CoverageSet to drop blobs when they're fully read by FUSE 2018-12-06 12:04:17 -08:00
FaultInjectorTest.cpp add a fault injection framework 2019-02-15 19:27:17 -08:00
IDGenBenchmark.cpp add a benchmark for generateUniqueID 2018-11-07 15:45:50 -08:00
IDGenTest.cpp microoptimize unique ID generation - hot path is six instructions 2018-11-10 11:12:45 -08:00
IoFutureTest.cpp use rvalue-qual Future::get(): pass 5 2018-07-02 07:05:52 -07:00
MappedDiskVectorTest.cpp add support for migrating MappedDiskVector record formats 2018-05-09 16:50:52 -07:00
PathFuncsTest.cpp update all C++ unit tests to use the new temporary file functions 2018-11-09 14:29:17 -08:00
PathMapTest.cpp add convenient operator literals for the various path piece types 2018-05-11 14:52:07 -07:00
ProcessAccessLogBenchmark.cpp replace folly::Baton in existing benchmarks with StartingGate 2018-11-13 15:27:51 -08:00
ProcessAccessLogTest.cpp reenable ProcessNameCache 2019-01-24 15:45:29 -08:00
ProcessNameCacheBenchmark.cpp replace folly::Baton in existing benchmarks with StartingGate 2018-11-13 15:27:51 -08:00
ProcessNameCacheTest.cpp move ProcessNameCache processing onto a background thread 2019-01-24 15:45:29 -08:00
ProcUtilTest.cpp folly::Optional -> std::optional 2018-10-23 17:05:11 -07:00
ScopedEnvVar.cpp run clang-format across all C++ files 2017-11-03 16:02:03 -07:00
ScopedEnvVar.h folly::Optional -> std::optional 2018-10-23 18:51:59 -07:00
UnixSocketTest.cpp Future::onError replaced with Future::thenError 2019-01-30 09:56:15 -08:00