diff options
Diffstat (limited to 'tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/compatible/BasicTest.java')
-rw-r--r-- | tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/compatible/BasicTest.java | 490 |
1 files changed, 0 insertions, 490 deletions
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/compatible/BasicTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/compatible/BasicTest.java deleted file mode 100644 index f8b4b82e6..000000000 --- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/compatible/BasicTest.java +++ /dev/null @@ -1,490 +0,0 @@ -package org.eclipse.team.tests.ccvs.core.compatible; -/* - * (c) Copyright IBM Corp. 2000, 2002. - * All Rights Reserved. - */ -import java.util.Date; -import java.util.GregorianCalendar; - -import junit.framework.Test; -import junit.framework.TestSuite; -import org.eclipse.team.tests.ccvs.core.JUnitTestCase; - -public class BasicTest extends JUnitTestCase { - SameResultEnv env1; - SameResultEnv env2; - - public BasicTest(String arg) { - super(arg); - env1 = new SameResultEnv(arg + "-checkout1"); - env2 = new SameResultEnv(arg + "-checkout2"); - } - - public BasicTest() { - this("BasicTest"); - } - - public static void main(String[] args) { - run(BasicTest.class); - } - - public static Test suite() { - TestSuite suite = new TestSuite(BasicTest.class); - return new CompatibleTestSetup(suite); - //return new CompatibleTestSetup(new BasicTest("testReadOnly")); - } - public void setUp() throws Exception { - env1.setUp(); - env2.setUp(); - - // Set the project to the content we need ... - env1.magicSetUpRepo("proj2",new String[]{"a.txt","f1/b.txt","f1/c.txt"}); - env2.deleteFile("proj2"); - } - - public void tearDown() throws Exception { - env1.tearDown(); - env2.tearDown(); - } - - public void testAdd() throws Exception { - - env1.execute("co",EMPTY_ARGS,new String[]{"proj2"}); - env1.writeToFile("proj2/d.txt",new String[]{"The file to be added","next"}); - env1.mkdirs("proj2/f2/f3"); - env1.mkdirs("proj2/f4/f5"); - env1.writeToFile("proj2/f4/f5/e.txt", new String[]{"Another file to be added","next"}); - - env1.execute("add",EMPTY_ARGS,new String[]{"d.txt"},"proj2"); - env1.execute("add",EMPTY_ARGS,new String[]{"f2","f2/f3"},"proj2"); - env1.execute("add",EMPTY_ARGS,new String[]{"f4"},"proj2"); - env1.execute("add",EMPTY_ARGS,new String[]{"f4/f5"},"proj2"); - env1.execute("add",EMPTY_ARGS,new String[]{"f4/f5/e.txt"},"proj2"); - env1.execute("ci",new String[]{"-m","TestMessage"},new String[]{"proj2"}); - - // Check the stuff out somewhere else to acctually check, that - // the file has been accepted - env2.execute("co",EMPTY_ARGS,new String[]{"proj2"}); - } - - public void testAddUpdate() throws Exception { - - env1.execute("co",EMPTY_ARGS,new String[]{"proj2"}); - env2.execute("co",EMPTY_ARGS,new String[]{"proj2"}); - - env1.writeToFile("proj2/d.txt",new String[]{"The file to be added","next"}); - env1.mkdirs("proj2/f2/f3"); - env1.mkdirs("proj2/f4/f5"); - env1.writeToFile("proj2/f4/f5/e.txt", new String[]{"Another file to be added","next"}); - - env1.execute("add",EMPTY_ARGS,new String[]{"d.txt"},"proj2"); - env1.execute("add",EMPTY_ARGS,new String[]{"f2","f2/f3"},"proj2"); - env1.execute("add",EMPTY_ARGS,new String[]{"f4"},"proj2"); - env1.execute("add",EMPTY_ARGS,new String[]{"f4/f5"},"proj2"); - env1.execute("add",EMPTY_ARGS,new String[]{"f4/f5/e.txt"},"proj2"); - env1.execute("ci",new String[]{"-m","TestMessage"},new String[]{"proj2"}); - - env2.execute("update",EMPTY_ARGS,new String[]{"proj2"}); - - } - - public void testRemove() throws Exception { - - env1.execute("co",EMPTY_ARGS,new String[]{"proj2"}); - env1.deleteFile("proj2/a.txt"); - env1.deleteFile("proj2/f1/c.txt"); - - env1.execute("remove",EMPTY_ARGS,new String[]{"a.txt"},"proj2"); - env1.execute("remove",EMPTY_ARGS,new String[]{"f1/c.txt"},"proj2"); - env1.execute("ci",new String[]{"-m","TestMessage"},new String[]{"proj2"}); - - // Check the stuff out somewhere else to acctually check, that - // the file has been accepted - env2.execute("co",EMPTY_ARGS,new String[]{"proj2"}); - } - - public void testRemoveRecusive() throws Exception { - - env1.execute("co",EMPTY_ARGS,new String[]{"proj2"}); - env2.execute("co",EMPTY_ARGS,new String[]{"proj2"}); - - env1.deleteFile("proj2/a.txt"); - env1.deleteFile("proj2/f1/c.txt"); - - env1.execute("remove",EMPTY_ARGS,new String[0],"proj2"); - env1.execute("ci",new String[]{"-m","TestMessage"},new String[]{"proj2"}); - - // Check the stuff out somewhere else to acctually check, that - // the file has been accepted - env2.execute("update",EMPTY_ARGS,new String[]{"proj2"}); - } - - public void testRoundRewrite() throws Exception { - - // Download content in two locations - env1.execute("co",EMPTY_ARGS,new String[]{"proj2"},""); - env2.execute("co",EMPTY_ARGS,new String[]{"proj2"},""); - - // change the file "proj1/folder1/c.txt" in env1 check it in - // on the server - env1.appendToFile("proj2/f1/c.txt", new String[] { "AppendIt" }); - env1.execute("ci",new String[]{"-m","TestMessage"},new String[]{"proj2"},""); - - // assure that the file is different in env1 and env2 - // try { - // assertEqualsArrays(env1.readFromFile("proj2/f1/c.txt"), - // env2.readFromFile("proj2/f1/c.txt")); - // throw new IllegalArgumentException("This is a failed Assertion"); - // } catch (AssertionFailedError e) {} - - // update env2 and make sure the changes are there - env2.execute("update",EMPTY_ARGS,new String[]{"proj2"},""); - // assertEqualsArrays(env1.readFromFile("proj2/f1/c.txt"), - // env2.readFromFile("proj2/f1/c.txt")); - } - - public void testUpdateMinusN() throws Exception { - String[] fileContent1; - - fileContent1 = new String[]{"RandomNumber", Math.random() + ""}; - - env1.execute("co",EMPTY_ARGS,new String[]{"proj2"}); - env2.execute("co",EMPTY_ARGS,new String[]{"proj2"}); - - env1.writeToFile("proj1/folder1/c.txt",fileContent1); - - env1.execute("ci",new String[]{"-n"},new String[]{"-m","TestMessage"},new String[]{"proj2"},""); - env2.execute("update",EMPTY_ARGS,new String[]{"proj2"}); - } - - public void testStatus() throws Exception { - - env1.execute("co",EMPTY_ARGS,new String[]{"proj2"}); - env1.execute("status",EMPTY_ARGS,new String[]{"proj2"}); - - env1.deleteFile("proj2/a.txt"); - env1.deleteFile("proj2/f1/c.txt"); - env1.appendToFile("proj2/f1/b.txt",new String[] { "AppendIt" }); - - env1.execute("status",EMPTY_ARGS,new String[]{"proj2"}); - env1.execute("status",EMPTY_ARGS,new String[0],"proj2"); - - env1.createRandomFile("proj2/d.txt"); - - env1.execute("status",EMPTY_ARGS,new String[0],"proj2"); - env1.execute("status",EMPTY_ARGS,new String[]{"f1/b.txt"},"proj2"); - // env1.execute("status",localOptions,new String[]{"d.txt"},"proj2"); - } - - public void testLog() throws Exception { - - env1.execute("co",EMPTY_ARGS,new String[]{"proj2"}); - env1.execute("log",EMPTY_ARGS,new String[]{"proj2"}); - - env1.deleteFile("proj2/a.txt"); - env1.deleteFile("proj2/f1/c.txt"); - env1.appendToFile("proj2/f1/b.txt",new String[] { "AppendIt" }); - - env1.execute("log",EMPTY_ARGS,new String[]{"proj2"}); - env1.execute("log",EMPTY_ARGS,new String[0],"proj2"); - - env1.createRandomFile("proj2/d.txt"); - - env1.execute("log",EMPTY_ARGS,new String[0],"proj2"); - env1.execute("log",EMPTY_ARGS,new String[]{"f1/b.txt"},"proj2"); - - } - - public void testBranchTag() throws Exception { - - env1.execute("co",EMPTY_ARGS,new String[]{"proj2"}); - env1.execute("tag",new String[]{"-b"},new String[]{"tag1","proj2"}); - - env1.deleteFile("proj2/a.txt"); - env1.deleteFile("proj2/f1/c.txt"); - env1.appendToFile("proj2/f1/b.txt",new String[] { "AppendIt" }); - - env1.execute("tag",new String[]{"-b"},new String[]{"tag2","proj2"}); - - env1.createRandomFile("proj2/d.txt"); - - env1.deleteFile("proj2"); - - // Try an commit and an add in the two different streams - env1.execute("co",new String[]{"-r","tag1"},new String[]{"proj2"}); - env1.appendToFile("proj2/f1/b.txt", new String[] { "AppendItTwo" }); - env1.createRandomFile("proj2/d.txt"); - env1.execute("add",new String[0],new String[]{"d.txt"},"proj2"); - env1.execute("ci",new String[]{"-m","branch"},new String[]{"proj2"}); - env1.deleteFile("proj2"); - env1.execute("co",new String[]{"-r","tag1"},new String[]{"proj2"}); - - env2.execute("co",new String[]{"-r","tag2"},new String[]{"proj2"}); - env2.appendToFile("proj2/f1/b.txt", new String[] { "AppendItThree" }); - env2.createRandomFile("proj2/d.txt"); - env2.execute("add",new String[0],new String[]{"d.txt"},"proj2"); - env2.execute("ci",new String[]{"-m","branch"},new String[]{"proj2"}); - env2.deleteFile("proj2"); - env2.execute("co",new String[]{"-r","tag2"},new String[]{"proj2"}); - } - - public void testBranchingWithLocalChanges() throws Exception { - // Try to branch of a workspace with local changes - env1.execute("co",EMPTY_ARGS,new String[]{"proj2"}); - JUnitTestCase.waitMsec(1500); - env1.appendToFile("proj2/f1/b.txt",new String[] { "AppendIt" }); - env1.execute("tag",new String[]{"-b"},new String[]{"branch-with-changes","proj2"}); - env1.execute("update",new String[]{"-r", "branch-with-changes"},new String[]{"proj2"}); - } - - public void testTag() throws Exception { - - env1.execute("co",EMPTY_ARGS,new String[]{"proj2"}); - env1.execute("tag",EMPTY_ARGS,new String[]{"tag1","proj2"}); - - env1.deleteFile("proj2/a.txt"); - env1.deleteFile("proj2/f1/c.txt"); - env1.appendToFile("proj2/f1/b.txt",new String[] { "AppendIt" }); - - env1.execute("tag",EMPTY_ARGS,new String[]{"tag2","proj2"}); - env1.execute("tag",EMPTY_ARGS,new String[]{"tag2"},"proj2"); - - env1.createRandomFile("proj2/d.txt"); - - env1.execute("tag",EMPTY_ARGS,new String[]{"tag3"},"proj2"); - env1.execute("tag",EMPTY_ARGS,new String[]{"tag3","f1/b.txt"},"proj2"); - - env1.deleteFile("proj2"); - env1.execute("co",new String[]{"-r","tag1"},new String[]{"proj2"}); - env1.deleteFile("proj2"); - env1.execute("co",new String[]{"-r","tag2"},new String[]{"proj2"}); - env1.deleteFile("proj2"); - env1.execute("co",new String[]{"-r","tag3"},new String[]{"proj2"}); - - // env1.execute("tag",localOptions,new String[]{"d.txt"},"proj2"); - - env1.execute("update", new String[]{"-r","tag1"}, new String[]{"proj2"}); - env1.execute("update", new String[]{"-r","tag2"}, new String[]{"proj2"}); - env1.execute("update", new String[]{"-r","tag3"}, new String[]{"proj2"}); - env1.execute("update", new String[]{"-A"}, new String[]{"proj2"}); - } - - public void testRTag() throws Exception { - - // Checkout and tag the project - env1.execute("co",EMPTY_ARGS,new String[]{"proj2"}); - env1.execute("tag",EMPTY_ARGS,new String[]{"tag1","proj2"}); - env1.deleteFile("proj2"); - - // Use rtag to tag the above tag as both a version and a branch - env1.execute("rtag",new String[]{"-r", "tag1"},new String[]{"rtag1","proj2"}); - env1.execute("rtag",new String[]{"-b", "-r", "tag1"},new String[]{"btag1","proj2"}); - - // Checkout the version and branch - env1.deleteFile("proj2"); - env1.execute("co",new String[]{"-r","rtag1"},new String[]{"proj2"}); - env1.deleteFile("proj2"); - env1.execute("co",new String[]{"-r","btag1"},new String[]{"proj2"}); - } - - public void testPrune() throws Exception { - - // Download content in two locations - env1.execute("co",EMPTY_ARGS,new String[]{"proj2"},""); - env2.execute("co",EMPTY_ARGS,new String[]{"proj2"},""); - - // change the file "proj1/folder1/c.txt" in env1 check it in - // on the server - env1.deleteFile("proj2/f1/b.txt"); - env1.deleteFile("proj2/f1/c.txt"); - env1.execute("remove",EMPTY_ARGS,new String[0],"proj2"); - - env1.execute("ci",new String[]{"-m","TestMessage"},new String[]{"proj2"},""); - env1.execute("update",new String[]{"-P"},new String[]{"proj2"},""); - - // update env2 and make sure the changes are there - env2.execute("update",new String[]{"-P"},new String[]{"proj2"},""); - - } - - public void testPrune2() throws Exception { - - // Download content in two locations - env1.execute("co",EMPTY_ARGS,new String[]{"proj2"},""); - env2.execute("co",EMPTY_ARGS,new String[]{"proj2"},""); - - // change the file "proj1/folder1/c.txt" in env1 check it in - // on the server - env1.deleteFile("proj2/f1/b.txt"); - env1.deleteFile("proj2/f1/c.txt"); - env1.execute("remove",EMPTY_ARGS,new String[0],"proj2"); - - env1.execute("ci",new String[]{"-m","TestMessage"},new String[]{"proj2"},""); - env1.execute("update",new String[]{"-P"},new String[]{},"proj2"); - - // update env2 and make sure the changes are there - env2.execute("update",new String[]{"-P"},new String[]{},"proj2"); - - } - - public void testAdmin() throws Exception { - - env1.execute("co",EMPTY_ARGS,new String[]{"proj2"},""); - - env1.execute("admin",new String[]{"-kb"},new String[]{"proj2/f1/b.txt"},""); - env1.execute("update",EMPTY_ARGS,new String[]{"proj2"},""); - - env2.execute("co",EMPTY_ARGS,new String[]{"proj2"},""); - } - - public void testDiff() throws Exception { - - env1.execute("co",EMPTY_ARGS,new String[]{"proj2"}); - env1.execute("diff",EMPTY_ARGS,new String[]{"proj2"}); - - env1.setIgnoreExceptions(true); - - env1.appendToFile("proj2/f1/c.txt",new String[] {"AppendIt2" }); - env1.appendToFile("proj2/f1/b.txt",new String[] { "AppendIt" }); - - env1.execute("diff",EMPTY_ARGS,new String[]{"proj2"}); - env1.execute("diff",EMPTY_ARGS,new String[0],"proj2"); - - env1.createRandomFile("proj2/d.txt"); - - env1.execute("diff",EMPTY_ARGS,new String[0],"proj2"); - env1.execute("diff",EMPTY_ARGS,new String[]{"f1/b.txt"},"proj2"); - // env1.execute("diff",localOptions,new String[]{"d.txt"},"proj2"); - - env1.setIgnoreExceptions(false); - } - - public void testReadOnly() throws Exception { - - // Checkout a read-only copy - env1.execute("co",new String[]{"-r"},EMPTY_ARGS,new String[]{"proj2"},""); - // Checkout and modify a writable copy - env2.execute("co",new String[]{},EMPTY_ARGS,new String[]{"proj2"},""); - env2.appendToFile("proj2/f1/c.txt",new String[] {"AppendIt2" }); - // Update the read only copy - env1.execute("update",new String[] {"-r"},EMPTY_ARGS,new String[]{"proj2"},""); - - // Update the read-only copy to writable - env1.execute("update",new String[] {},EMPTY_ARGS,new String[]{"proj2"},""); - } - - public void testQuestionables() throws Exception { - env1.execute("co",EMPTY_ARGS,new String[]{"proj2"},""); - env1.writeToFile("proj2/f2/d.txt", new String[]{"content"}); - env1.writeToFile("proj2/f3/f4/d.txt", new String[]{"content"}); - env1.writeToFile("proj2/f5/f6/f7/d.txt", new String[]{"content"}); - env1.execute("add",new String[0],new String[]{"f3"},"proj2"); - env1.execute("add",new String[0],new String[]{"f3/f4"},"proj2"); - env1.execute("update",new String[0],new String[]{"."},"proj2"); - } - - public void testImportWrappers() throws Exception { - // Make the project empty - env1.magicSetUpRepo("proj3",new String[]{"NoImportant.txt"}); - env2.deleteFile("proj3"); - - // Create resouces and import them with the - // special wrapper - env1.createRandomFile(new String[]{"a.txt","a.class","a.xxx"},"proj3"); - env1.execute("import", - new String[]{"-W","*.txt -k 'kv'","-W","*.class -k 'b'","-I","*.xxx","-m","msg"}, - new String[]{"proj3","aTag","bTag"}, - "proj3"); - - // download the server-version - env2.execute("co",EMPTY_ARGS,new String[]{"proj3"},""); - } - - public void testImportIgnores() throws Exception { - // Make the project empty - env1.magicSetUpRepo("proj3",new String[]{"NoImportant.txt"}); - env2.deleteFile("proj3"); - - // Create resouces and import them with the - // special wrapper - env1.createRandomFile(new String[]{"a.txt","a.class","a.xxx"},"proj3"); - env1.execute("import", - new String[]{"-I","*.xxx","-m","msg"}, - new String[]{"proj3","aTag","bTag"}, - "proj3"); - - // download the server-version - env2.execute("co",EMPTY_ARGS,new String[]{"proj3"},""); - } - - private String toGMTString(Date d) { - return d.toGMTString(); - } - - public void testDate() throws Exception { - - // IMPOTANT: - // Do not make tests with relative dates, because the times coming back form the server will - // sometimes differ from the reference-client to the eclipse-client due to the time-delay in calling - - Date beforeChange; - Date firstChange; - Date secondChange; - - env1.execute("co",new String[0],new String[]{"proj2"}); - - // Change the file "a.txt" and record the times you are doing that at - waitMsec(1100); // here we wait for the import to finish - beforeChange = GregorianCalendar.getInstance().getTime(); - - waitMsec(1100); - - env1.appendToFile("proj2/a.txt",new String[] { "AppendIt" }); - env1.execute("ci",new String[]{"-m","msg"},new String[]{"proj2"}); - firstChange = GregorianCalendar.getInstance().getTime(); - - waitMsec(1100); - - env1.appendToFile("proj2/a.txt",new String[] { "AppendIt2" }); - env1.appendToFile("proj2/f1/b.txt",new String[] { "AppendIt2" }); - env1.execute("ci",new String[]{"-m","msg"},new String[]{"proj2"}); - secondChange = GregorianCalendar.getInstance().getTime(); - - waitMsec(1100); - - env1.deleteFile("proj2"); - - // Now check the project at different times out - env1.execute("co",new String[]{"-D",toGMTString(beforeChange)},new String[]{"proj2"}); - env1.deleteFile("proj2"); - - env1.execute("co",new String[]{"-D",toGMTString(firstChange)},new String[]{"proj2"}); - env1.deleteFile("proj2"); - - env1.execute("co",new String[]{"-D",toGMTString(secondChange)},new String[]{"proj2"}); - env1.deleteFile("proj2"); - - // Now do some updates to look if update -D works - env1.execute("co",new String[0],new String[]{"proj2"}); - env1.execute("update",new String[]{"-D",toGMTString(beforeChange)},new String[]{"proj2"}); - env1.execute("update",new String[]{"-D",toGMTString(firstChange)},new String[]{"proj2"}); - env1.execute("update",new String[]{"-D",toGMTString(secondChange)},new String[]{"proj2"}); - - // We look if the parameter -a is working - env1.execute("update",new String[]{"-D",toGMTString(beforeChange),"-A"},new String[]{"proj2"}); - env1.execute("update",new String[]{"-D",toGMTString(secondChange)},new String[]{"proj2"}); - env1.deleteFile("proj2"); - - // We get try to merge changes from different dates - env1.execute("co",new String[0],new String[]{"proj2"}); - env1.appendToFile("proj2/a.txt", new String[] { "This is the world ..." }); - env1.execute("update",new String[]{"-D",toGMTString(beforeChange)},new String[]{"proj2"}); - env1.appendToFile("proj2/a.txt", new String[] {"... which constantly changes" }); - env1.execute("update",new String[]{"-A"},new String[]{"proj2"}); - // Change something to be able to commit - env1.appendToFile("proj2/a.txt", new String[] { "... and the changes are approved" }); - env1.execute("ci",new String[]{"-m","msg"},new String[]{"proj2"}); - - } -} - |