public static void createPopulatedTestServer(String dirPath, String... users) throws Exception {

		Msg.info(ServerTestUtil.class, "Constructing Ghidra Server for testing: " + dirPath);

		File rootDir = new File(dirPath);
		FileUtilities.deleteDir(rootDir);
		FileUtilities.mkdirs(rootDir);

		String[] userArray = new String[users.length + 1];
		userArray[0] = ADMIN_USER;
		System.arraycopy(users, 0, userArray, 1, users.length);
		createUsers(dirPath, userArray);

		String keys[] = SSHKeyUtil.generateSSHRSAKeys();
		addSSHKeys(dirPath, keys[0], "test.key", keys[1], "test.pub");

		LocalFileSystem repoFilesystem = createRepository(dirPath, "Test", ADMIN_USER + "=ADMIN",
			USER_A + "=READ_ONLY", USER_B + "=WRITE");
		try {
			createRepositoryItem(repoFilesystem, "foo", "/", 0);
			createRepositoryItem(repoFilesystem, "notepad", "/", 0);
			createRepositoryItem(repoFilesystem, "bash", "/f1", 0);
		}
		finally {
			repoFilesystem.dispose();
		}

		repoFilesystem = createRepository(dirPath, "Test1", "=ANONYMOUS_ALLOWED",
			ADMIN_USER + "=ADMIN", USER_A + "=WRITE");
		try {
			createRepositoryItem(repoFilesystem, "foo1", "/", 0);
			createRepositoryItem(repoFilesystem, "notepad1", "/", 0);
			createRepositoryItem(repoFilesystem, "bash1", "/f2", 0);
			createRepositoryItem(repoFilesystem, "foo2", "/", 2);
		}
		finally {
			repoFilesystem.dispose();
		}
	}
Create and populate server test repositories "Test" and "Test1" with the specified 
users added.  The ADMIN_USER "test" is added by default. 
@param dirPath server root
@param users optional inclusion of USER_A and/or USER_B to be added with no authentication required
@throws Exception
Ghidra/Test/IntegrationTest/src/test.slow/java/ghidra/server/remote/ServerTestUtil.java