File: mergeall-products/unzipped/test/_README.txt


To see mergeall in action, open the BASIC-TESTS-*.html files in folder
expected-output-3.0 folder for the platform(s) you wish to study.  See
also ../../screenshots for mergeall's GUI which runs similar commands.


The two canned test folders here:


comprehensively exercise the updates performed by mergeall runs.  
Use them as FROM/TO subjects for experimenting with the system 
before running it live on your important data. 

The /expected-output-3.0 folder here has expected results for 
mergeall and diffall runs against these two test folders.  See 
its README.txt for more details.  This folder's BASIC-TESTS-*.html
provide a quick, readable look at mergeall and diffall in action.


Version 3.0 adds ".*" and other cruft (a.k.a. metadata) files in
the test folders here to simulate files added by various platforms:
test1 mimics Mac, and test2 Windows.  Run with "-skipcruft" (or the 
equivalent toggle or reply in the launchers) to ignore these in 
diffall reports, cpall copies, and mergeall reports and merges.

Version 3.0 also adds support for symlinks on both Unix and Windows, 
demonstrated in ./test-symlinks, as well as support for long 
pathnames on Windows that exceed its usual limits, exercised in 
./test-windows-longpaths-symlinks (the latter also test symlinks). 


Zipfile contains the original test folders' content, 
if your copies becomes munged.  The scripts:    <= run to restore

here can be run directly and with no arguments (e.g., by clicking) to 
zip and unzip the two test folders.  Use the latter (unzip) to restore
the originals before new tests.

It was necessary to code these with Python's zipfile module, as WinZip
discards the test's ".*" Mac files on Windows, with no apparent way to 
disable this except on Macs.  See the ziptools package here for zipfile 
utility functions used for resetting state before tests.  This package
is also a general zip/unzip utility, including command-line scripts
(see also its web page at


For a quick stress test, run the following command-lines in's 
top folder (the mergeall commands can be run from the GUI too, and Unix
users on Mac and Linux use "/" instead of "\" in paths): 

  cd test                               # reset test folders
  cd ..

  (copy original test\test2 to a new private folder) # delete first if needed
  xcopy /E test\test2 _original_                     # use cp -r/-R on Unix test\test1 test\test2 -auto -backup    # synch, with backups test\test1 test\test2 -report          # verify now no diffs test\test1 test\test2                   # verify byte by byte test\test2                             # rollback last synch test\test2 _original_ -report          # verify same as original test\test2 _original_                   # byte-wise content verify

Try the initial mergeall and diffall runs with and without "-skipcruft" 
and "-quiet" to see how they modify results: when merged with cruft 
skipping, verifies will report differences unless they also skip cruft.

You can view examples of these runs on various platforms in:



The test-symlinks folder hosts self-contained tests of 3.0's symlinks support,
and test-windows-longpaths-symlinks tests both symlinks and Windows long paths.
Older restore and rollback sessions: ..\older-examples-webonly\Logs\version-2.1.


The new verify-changes-3.1 folder has assorted tests for Mergeall 3.1 changes.  
Its shows how the folder modtimes in the test1 and test2 folders
here fared in Mergeall 3.0 and 3.1 - they were stamped with run time in 3.0,
but original modtimes are propagated in 3.1.  This is largely convenience;
folder modtimes aren't used by Mergeall, so they aren't critical to results 
(file and link modtimes are, but have always been propagated to new copies).
The diffs-3.1 folder also captures assorted differences in the 3.1 release.

[Home] Books Programs Blog Python Author Training Search Email ©M.Lutz