writeFile(new File("target/scp/local/dir/out2.txt"), data);
new File("target/scp/local/out1.txt").setLastModified(lastMod);
new File("target/scp/local/out1.txt").setExecutable(true, true);
new File("target/scp/local/out1.txt").setWritable(false, false);
new File("target/scp/local/dir/out2.txt").setLastModified(lastMod);
scp.upload("target/scp/local/*", "target/scp/remote/", ScpClient.Option.Recursive, ScpClient.Option.PreserveAttributes);
assertFileLength(new File("target/scp/remote/out1.txt"), data.length(), 5000);
assertEquals(lastMod, new File("target/scp/remote/out1.txt").lastModified());
assertFileLength(new File("target/scp/remote/dir/out2.txt"), data.length(), 5000);
assertEquals(lastMod, new File("target/scp/remote/dir/out2.txt").lastModified());