sapling/eden/integration
Mark Shroyer 6203052f67 Add integration test for ProjFS enumeration
Summary:
On Windows, the `NtQueryDirectoryFile` low-level API exposes some behaviors—such as restarting partway through a directory enumeration, setting filename filters, and requesting single entries at a time—that are implemented by our ProjFS provider, but were not previously covered by our integration tests.

This change adds coverage by exposing `NtQueryDirectoryFile` via a Python extension module, then exercising it on an EdenFS mount in a new test.

Reviewed By: xavierd

Differential Revision: D44356956

fbshipit-source-id: 4114a0be95092b8276156ba7fd895f64d9e64c3a
2023-03-29 18:34:52 -07:00
..
fsck integration: do not run skipped/disabled tests 2022-07-22 09:51:17 -07:00
helpers get oss windows build back to functioning 2023-03-29 12:52:44 -07:00
hg integration: remove unused import in update_test 2023-03-24 21:21:47 -07:00
lib Add integration test for ProjFS enumeration 2023-03-29 18:34:52 -07:00
snapshot upgrade pyre version in fbcode/eden - batch 1 2023-02-06 11:55:20 -08:00
basic_test.py integration: do not run skipped/disabled tests 2022-07-22 09:51:17 -07:00
casing_test.py Run case sensitivity integration tests exhaustively on each platform 2022-10-17 13:02:28 -07:00
chown_test.py integration: add a few missing testcase decorator 2022-07-26 16:50:53 -07:00
clone_test.py Allow setting and querying case-sensitivity 2022-10-17 13:02:28 -07:00
CMakeLists.txt integration: the prjfs_stress only run on Windows 2022-07-06 18:14:27 -07:00
config_test.py rename ConfigSource to ConfigSourceType 2022-12-10 05:09:52 -08:00
corrupt_overlay_test.py inodes: recover from corrupted sqlite database 2023-03-17 21:38:48 -07:00
debug_getpath_test.py integration: rename get_thrift_client to get_thrift_client_legacy 2022-04-22 18:22:42 -07:00
debug_subscribe_test.py subscribe: add a basic test 2022-10-21 19:05:50 -07:00
debug_test.py service: support remote fetching from eden debug blobmeta 2023-03-29 15:35:52 -07:00
doteden_test.py prjfs: prevent .eden from being removed 2022-03-07 15:36:00 -08:00
edenclient_test.py fs: fix license header 2022-01-04 15:00:07 -08:00
fsck_test.py integration: do not run skipped/disabled tests 2022-07-22 09:51:17 -07:00
glob_test.py Run case sensitivity integration tests exhaustively on each platform 2022-10-17 13:02:28 -07:00
health_test.py integration: do not run skipped/disabled tests 2022-07-22 09:51:17 -07:00
help_test.py integration: do not run skipped/disabled tests 2022-07-22 09:51:17 -07:00
info_test.py add backing repo location to eden info 2022-10-20 14:33:19 -07:00
invalidate_test.py cli: run inode invalidation in the background in doctor 2023-02-24 10:48:53 -08:00
long_path_test.py utils: AbsolutePath are always UNC on Windows 2022-11-08 08:49:16 -08:00
materialized_query_test.py fix test_getFileInformation on Windows 2022-05-04 17:05:09 -07:00
mmap_test.py fs: fix license header 2022-01-04 15:00:07 -08:00
mount_test.py apply import merging for fbcode (4 of 11) 2022-05-15 12:53:03 -07:00
oexcl_test.py fs: fix license header 2022-01-04 15:00:07 -08:00
patch_test.py fs: fix license header 2022-01-04 15:00:07 -08:00
persistence_test.py config: switch thorough-fsck on by default 2022-10-21 14:41:08 -07:00
prjfs_stress.py listen to PRE_CONVERT_TO_FULL 2023-02-14 16:31:47 -08:00
projfs_buffer.py assert our fsck assumptions about directories 2023-03-01 18:02:51 -08:00
projfs_enumeration.py Add integration test for ProjFS enumeration 2023-03-29 18:34:52 -07:00
rage_test.py remove eden doctor invocation from eden rage 2022-03-09 10:36:24 -08:00
rc_test.py fs: fix license header 2022-01-04 15:00:07 -08:00
redirect_test.py use disk images for redirect integration tests 2023-02-14 12:29:56 -08:00
remount_test.py Add annotations to eden 2022-02-14 12:17:43 -08:00
rename_test.py fs: fix license header 2022-01-04 15:00:07 -08:00
restart_test.py enable restart tests 2023-03-29 11:33:45 -07:00
rocksdb_store_test.py upgrade pyre version in fbcode/eden - batch 1 2022-08-05 01:40:16 -07:00
sed_test.py fs: fix license header 2022-01-04 15:00:07 -08:00
service_log_test.py reenable integration tests on macOS 2023-02-14 12:29:56 -08:00
setattr_test.py fs: fix license header 2022-01-04 15:00:07 -08:00
stale_inode_test.py integration: add a few missing testcase decorator 2022-07-26 16:50:53 -07:00
stale_test.py fs: fix license header 2022-01-04 15:00:07 -08:00
start_test.py integration: do not run skipped/disabled tests 2022-07-22 09:51:17 -07:00
stats_test.py fix/document stats tests for windows and macOS 2023-03-15 15:22:51 -07:00
stop_test.py integration: do not run skipped/disabled tests 2022-07-22 09:51:17 -07:00
takeover_test.py enable takeover tests on mac 2023-03-29 11:33:45 -07:00
thrift_test.py introduce getAttributesFromFilesV2 2022-08-29 14:18:08 -07:00
unicode_test.py fs: fix license header 2022-01-04 15:00:07 -08:00
unixsocket_test.py fs: fix license header 2022-01-04 15:00:07 -08:00
unlink_test.py integration: enable unlink tests 2023-03-10 18:35:27 -08:00
userinfo_test.py integration: do not run skipped/disabled tests 2022-07-22 09:51:17 -07:00
windows_fsck_test.py fix windows fsck test logging settings 2023-03-06 16:24:03 -08:00
xattr_test.py fs: fix license header 2022-01-04 15:00:07 -08:00