On Sun, May 26, 2019 at 11:45:30AM +0300, Amir Goldstein wrote: > Eryu, > > This is a re-work of Dave Chinner's copy_file_range() tests which > I used to verify the kernel fixes of the syscall [1]. > > I split out the single bounds test by Dave to 4 tests. > immutable and swap file copy have specific requiremenet which many > filesystems do not meet (e.g. cifs,nfs,ceph,overlayfs), so those > test cases were split to individual test to allow better bounds test > converage for all filesystems. > > The 3 first tests fix bugs in the interface, so they are appropriate > for merge IMO. The last test (cross-device copy) tests a new > functionality, so you may want to wait with merge till after the work > is merged upstream. The tests mostly look ok to me... > NOTE that the bounds check test depend on changes that have been merged > to xfsprogs v4.20. Without those changes the test will hang! Is that the requirement for opening pipes in nonblocking mode? If so... that ought to be a separate test (or at least a separate part of the test) that can be skipped if we detect an old xfs_io. > I used an artificial requirement _require_xfs_io_command "chmod" to > skip the test with old xfs_io. I welcome suggestions for better way to > handle this issue. Grepping manpages? :D --D > > Thanks, > Amir. > > Changes from v1: > - Remove patch to test EINVAL behavior instead of short copy > - Remove 'chmod -r' permission drop test case > - Split out test for swap/immutable file copy > - Split of cross-device copy test > > [1] https://lore.kernel.org/linux-fsdevel/20190526061100.21761-1-amir73il@xxxxxxxxx/ > > Amir Goldstein (5): > generic: create copy_range group > generic: copy_file_range immutable file test > generic: copy_file_range swapfile test > generic: copy_file_range bounds test > generic: cross-device copy_file_range test > > tests/generic/434 | 2 + > tests/generic/988 | 59 ++++++++++++++++++++ > tests/generic/988.out | 5 ++ > tests/generic/989 | 56 +++++++++++++++++++ > tests/generic/989.out | 4 ++ > tests/generic/990 | 123 ++++++++++++++++++++++++++++++++++++++++++ > tests/generic/990.out | 37 +++++++++++++ > tests/generic/991 | 56 +++++++++++++++++++ > tests/generic/991.out | 4 ++ > tests/generic/group | 14 +++-- > 10 files changed, 355 insertions(+), 5 deletions(-) > create mode 100755 tests/generic/988 > create mode 100644 tests/generic/988.out > create mode 100755 tests/generic/989 > create mode 100644 tests/generic/989.out > create mode 100755 tests/generic/990 > create mode 100644 tests/generic/990.out > create mode 100755 tests/generic/991 > create mode 100644 tests/generic/991.out > > -- > 2.17.1 >