Fix crash test check for direct I/O
Summary: We need to keep the DB directory around since the direct IO check in "db_crashtest.py" relies on it existing. This PR fixes an issue where it was removed after each stress test run during the second half of whitebox crash testing. Closes https://github.com/facebook/rocksdb/pull/3946 Differential Revision: D8247998 Pulled By: ajkr fbshipit-source-id: 4e7cffbdab9b40df125e7842d0d59916e76261d3
This commit is contained in:
parent
50d7ac0ea3
commit
4f297ad05f
@ -52,9 +52,11 @@ default_params = {
|
|||||||
"writepercent": 35,
|
"writepercent": 35,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_TEST_DIR_ENV_VAR = 'TEST_TMPDIR'
|
||||||
|
|
||||||
|
|
||||||
def get_dbname(test_name):
|
def get_dbname(test_name):
|
||||||
test_tmpdir = os.environ.get("TEST_TMPDIR")
|
test_tmpdir = os.environ.get(_TEST_DIR_ENV_VAR)
|
||||||
if test_tmpdir is None or test_tmpdir == "":
|
if test_tmpdir is None or test_tmpdir == "":
|
||||||
dbname = tempfile.mkdtemp(prefix='rocksdb_crashtest_' + test_name)
|
dbname = tempfile.mkdtemp(prefix='rocksdb_crashtest_' + test_name)
|
||||||
else:
|
else:
|
||||||
@ -333,6 +335,7 @@ def whitebox_crash_main(args, unknown_args):
|
|||||||
# we need to clean up after ourselves -- only do this on test
|
# we need to clean up after ourselves -- only do this on test
|
||||||
# success
|
# success
|
||||||
shutil.rmtree(dbname, True)
|
shutil.rmtree(dbname, True)
|
||||||
|
os.mkdir(dbname)
|
||||||
cmd_params.pop('expected_values_path', None)
|
cmd_params.pop('expected_values_path', None)
|
||||||
check_mode = (check_mode + 1) % total_check_mode
|
check_mode = (check_mode + 1) % total_check_mode
|
||||||
|
|
||||||
@ -357,6 +360,12 @@ def main():
|
|||||||
# unknown_args are passed directly to db_stress
|
# unknown_args are passed directly to db_stress
|
||||||
args, unknown_args = parser.parse_known_args()
|
args, unknown_args = parser.parse_known_args()
|
||||||
|
|
||||||
|
test_tmpdir = os.environ.get(_TEST_DIR_ENV_VAR)
|
||||||
|
if test_tmpdir is not None and not os.path.isdir(test_tmpdir):
|
||||||
|
print('%s env var is set to a non-existent directory: %s' %
|
||||||
|
(_TEST_DIR_ENV_VAR, test_tmpdir))
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
if args.test_type == 'blackbox':
|
if args.test_type == 'blackbox':
|
||||||
blackbox_crash_main(args, unknown_args)
|
blackbox_crash_main(args, unknown_args)
|
||||||
if args.test_type == 'whitebox':
|
if args.test_type == 'whitebox':
|
||||||
|
Loading…
Reference in New Issue
Block a user