mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 08:18:15 +03:00
b6e9844eca
Summary: This is the basic framework for some new tests for `eden fsck` that work by unpacking one of the existing saved snapshot files, breaking it in various ways, and then running `eden fsck` to fix it. Using an existing snapshot file rather than creating a new mount point on the fly in the test has a few advantages: - This lets us confirm that newer versions of Eden can still correctly repair and mount old file formats, even if we update the mount point data formats in the future. - Unpacking a snapshot is much faster than starting Eden, creating an hg repository, cloning a new Eden checkout from the repo, and then unmounting the checkout. - The inode number allocations for the snapshot are fixed, which makes it easier for the test code to manipulate specific inode numbers and always know which path this refers to. If we created a mount point on the fly we can't guarantee ahead of time which inode numbers would map to each file, and we would need to do more work to look up this information after creating the checkout. These tests are pretty basic at the moment, but I plan to expand them as I check in more of the fsck logic to repair errors. Reviewed By: wez Differential Revision: D12955045 fbshipit-source-id: 5d5a96cec812f8e72caf93e57bf0f1311e28aab8 |
||
---|---|---|
.. | ||
fsck | ||
helpers | ||
hg | ||
lib | ||
snapshot | ||
basic_test.py | ||
chown_test.py | ||
clone_test.py | ||
corrupt_overlay_test.py | ||
debug_getpath_test.py | ||
doteden_test.py | ||
edenclient_test.py | ||
fsck_test.py | ||
glob_test.py | ||
health_test.py | ||
help_test.py | ||
hypothesis_simple_test.py | ||
info_test.py | ||
materialized_query_test.py | ||
mmap_test.py | ||
oexcl_test.py | ||
patch_test.py | ||
persistence_test.py | ||
rage_test.py | ||
rc_test.py | ||
remount_test.py | ||
rename_test.py | ||
repo_test.py | ||
restart_test.py | ||
sed_test.py | ||
setattr_test.py | ||
stale_test.py | ||
start_test.py | ||
stop_test.py | ||
systemd_fixture_test.py | ||
systemd_test.py | ||
takeover_test.py | ||
thrift_test.py | ||
unixsocket_test.py | ||
unlink_test.py | ||
xattr_test.py |