private static void doArchiveTest()
	{
		System.out.print("Testing archive command ");
		try
		{
			// create an MVD from the Renaissance folder
			File folder = new File( TEST_DATA+File.separator+RENAISSANCE );
			String mvdName = createTestMVD( folder );
			MVD mvd = MVDFile.internalise( new File(mvdName), null );
			String archiveName = TEST_FOLDER+File.separator+RENAISSANCE;
			String[] args0 = {"-c","archive","-m",mvdName,"-a",archiveName,
				"-d",mvd.getDescription()};
			MvdTool.run( args0, out );
			// the long names of the mvd are the file names
			File archiveFolder = new File( archiveName );
			for ( int i=0;i<mvd.numVersions();i++ )
			{
				String longName = mvd.getLongNameForVersion(i+1);
				String shortName = mvd.getVersionShortName(i+1);
				File archiveFile = new File( archiveFolder, shortName );
				File originalFile = new File( folder, longName );
				if ( !archiveFile.exists() )
					throw new MVDTestException("file "+shortName+" not found");
				if ( !originalFile.exists() )
					throw new MVDTestException("file "+longName+" not found");
				if ( archiveFile.length() != originalFile.length() )
					throw new MVDTestException("Archived file "+longName
						+" not same length as original");
				System.out.print(".");
			}
			// check that archived file represents MVD
			File guideFile = new File( archiveFolder, XMLGuideFile.GUIDE_FILE );
			if ( !guideFile.exists() )
				throw new MVDTestException("Guide file missing from archive");
			XMLGuideFile guide = XMLGuideFile.internalise( guideFile );
			if ( guide.numVersions() != mvd.numVersions() )
				throw new MVDTestException(
					"Number of archived versions not same as in MVD");
			String mvdDesc = mvd.getDescription();
			String guideDesc = guide.getDescription();
			if ( !mvdDesc.equals(guideDesc) )
				throw new MVDTestException(
					"Guide and MVD description strings don't match");
			testsPassed++;
			System.out.println(" test passed.");
		}
		catch ( Exception e )
		{
			doTestFailed( e );
		}
	}