mirror of
https://github.com/RsyncProject/rsync.git
synced 2026-06-07 21:58:06 -04:00
Every other two-sided test drives with the current binary, covering new-client -> old-server. This adds the backward-compat direction that matters most for a project shipping new servers to a world of old clients: a current daemon must keep serving the installed base of old rsync clients. reverse-daemon-delta_test.py starts the daemon with the current build (via start_test_daemon's rsync_cmd override) and drives it with the old binary. It does a push and a pull, each with and without -z, with the receiving side pre-seeded with an older version of the file so the delta algorithm actually runs -- exercising delta encoding both ways (old->new on push, new->old on pull) and compression negotiation both ways. It asserts the bytes crossing the wire are far smaller than the file, so a silent fallback to a whole-file copy is caught, and accepts both the modern "sent/received" and the old "wrote/read" summary wording so an old client's output parses. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
automatic testsuite for rsync -*- text -*- We're trying to develop some more substantial tests to prevent rsync regressions. Ideally, all code changes or bug reports would come with an appropriate test suite. You can run these tests by typing "make check" in the build directory. The tests will run using the rsync binary in the build directory, so you do not need to do "make install" first. Indeed, you probably should not install rsync before running the tests. If you instead type "make installcheck" then the suite will test the rsync binary from its installed location (e.g. /usr/local/bin/rsync). You can use this to test a distribution build, or perhaps to run a new test suite against an old version of rsync. Note that in accordance with the GNU Standards, installcheck does not look for rsync on the path. If the tests pass, you should see a report to that effect. Some tests require being root or some other precondition, and so will normally not be checked -- look at the test scripts for more information. If the tests fail, you will see rather more output. The scratch directory will remain in the build directory. It would be useful if you could include the log messages when reporting a failure. These tests also run automatically on the build farm, and you can see the results on http://build.samba.org/.