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

QUICK LOOK:

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.


DETAILS:

The two canned test folders here:

  -test1
  -test2

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.


TEST CONTENT:

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). 


SAVED TEST DIRS:

Zipfile test-1-2.zip contains the original test folders' content, 
if your copies becomes munged.  The scripts:

  -test-1-2-do-zip.py
  -test-1-2-do-unzip.py    <= 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 http://learning-python.com/ziptools.html).


BASIC TESTS:

For a quick stress test, run the following command-lines in mergeall.py'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
  test-1-2-do-unzip.py                               # 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
 
  mergeall.py test\test1 test\test2 -auto -backup    # synch, with backups
  mergeall.py test\test1 test\test2 -report          # verify now no diffs
  diffall.py test\test1 test\test2                   # verify byte by byte

  rollback.py test\test2                             # rollback last synch
  mergeall.py test\test2 _original_ -report          # verify same as original
  diffall.py 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:

  expected-output-3.0\BASIC-TESTS-*.html


OTHER:

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.


NEW IN MERGEALL 3.1:

The new verify-changes-3.1 folder has assorted tests for Mergeall 3.1 changes.  
Its mergeall-3.1.zip 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.

NEW IN MERGEALL 3.2

See the *3.2* files here for assorted tests of new 3.2 functionality
described in ../docetc/MoreDocs/Revisions.html#version32.

NEW IN MERGEALL 3.3

The new test-normalization-3.3/ folder has automated tests that verify parity
with 3.2, and exercise the Unicode normalization added in 3.3.  As 3.3 also
alters run logs, especially for delta sets, this folder hosts latest results.
See the _TEST.py scripts in subfolders here for test logic.



[Home page] Books Code Blog Python Author Train Find ©M.Lutz