I'm looking for a way to create a tree of test files to unit test a packaging tool. Basically, I want to create some common file system structures -- directories, nested directories, symlinks within the selected tree, symlinks outside the tree, &c.
Ideally I want to do this with as little boilerplate as possible. Of course, I could hand-write the set of files I want to see, but I'm thinking that somebody has to have automated this for a test suite somewhere. Any suggestions?
I do this type of thing for testing Unix user creation and home directory copies. The Zip suggestion is a good one.  
I personally keep two directory structures -- one is a source and one becomes the test structure.  I just sync the source to the destination via shutil.copytree as part of the test setup.  
That makes it easy to change the test structure on the fly (and not have to unzip).
Using Python, what's the best way to create a set of files on disk for testing?