From f21e20fbf4abf140400b1b6366b14dea7cff6347 Mon Sep 17 00:00:00 2001 From: nik Date: Fri, 7 Sep 2012 17:06:46 +0400 Subject: [PATCH] external compiler: added test for rename class changing case only --- .../changeName/changeCaseOfName/build.log | 6 +++ .../changeName/changeCaseOfName/src/A.java | 2 + .../changeCaseOfName/src/A.java.remove | 0 .../changeCaseOfName/src/a.java.new | 2 + .../build.log} | 0 .../org/jetbrains/ether/ClassRenameTest.java | 8 ++- .../jetbrains/ether/IncrementalTestCase.java | 53 ++++++++++++------- 7 files changed, 49 insertions(+), 22 deletions(-) create mode 100644 java/java-tests/testData/compileServer/incremental/changeName/changeCaseOfName/build.log create mode 100644 java/java-tests/testData/compileServer/incremental/changeName/changeCaseOfName/src/A.java create mode 100644 java/java-tests/testData/compileServer/incremental/changeName/changeCaseOfName/src/A.java.remove create mode 100644 java/java-tests/testData/compileServer/incremental/changeName/changeCaseOfName/src/a.java.new rename java/java-tests/testData/compileServer/incremental/changeName/{changeClassName.log => changeClassName/build.log} (100%) diff --git a/java/java-tests/testData/compileServer/incremental/changeName/changeCaseOfName/build.log b/java/java-tests/testData/compileServer/incremental/changeName/changeCaseOfName/build.log new file mode 100644 index 000000000000..bb2886713ad7 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/changeName/changeCaseOfName/build.log @@ -0,0 +1,6 @@ +Cleaning output files: +out/production/ChangeCaseOfName/A.class +End of files +Compiling files: +src/a.java +End of files diff --git a/java/java-tests/testData/compileServer/incremental/changeName/changeCaseOfName/src/A.java b/java/java-tests/testData/compileServer/incremental/changeName/changeCaseOfName/src/A.java new file mode 100644 index 000000000000..61ff2abcc95e --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/changeName/changeCaseOfName/src/A.java @@ -0,0 +1,2 @@ +public class A { +} \ No newline at end of file diff --git a/java/java-tests/testData/compileServer/incremental/changeName/changeCaseOfName/src/A.java.remove b/java/java-tests/testData/compileServer/incremental/changeName/changeCaseOfName/src/A.java.remove new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/java/java-tests/testData/compileServer/incremental/changeName/changeCaseOfName/src/a.java.new b/java/java-tests/testData/compileServer/incremental/changeName/changeCaseOfName/src/a.java.new new file mode 100644 index 000000000000..a53a3b929299 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/changeName/changeCaseOfName/src/a.java.new @@ -0,0 +1,2 @@ +public class a { +} \ No newline at end of file diff --git a/java/java-tests/testData/compileServer/incremental/changeName/changeClassName.log b/java/java-tests/testData/compileServer/incremental/changeName/changeClassName/build.log similarity index 100% rename from java/java-tests/testData/compileServer/incremental/changeName/changeClassName.log rename to java/java-tests/testData/compileServer/incremental/changeName/changeClassName/build.log diff --git a/jps/jps-builders/testSrc/org/jetbrains/ether/ClassRenameTest.java b/jps/jps-builders/testSrc/org/jetbrains/ether/ClassRenameTest.java index 2158293c8733..a24513a30a9f 100644 --- a/jps/jps-builders/testSrc/org/jetbrains/ether/ClassRenameTest.java +++ b/jps/jps-builders/testSrc/org/jetbrains/ether/ClassRenameTest.java @@ -12,7 +12,11 @@ public class ClassRenameTest extends IncrementalTestCase { super("changeName"); } - public void testChangeClassName() throws Exception { - doTest(); + public void testChangeClassName() { + doTest().assertSuccessful(); + } + + public void _testChangeCaseOfName() { + doTest().assertSuccessful(); } } diff --git a/jps/jps-builders/testSrc/org/jetbrains/ether/IncrementalTestCase.java b/jps/jps-builders/testSrc/org/jetbrains/ether/IncrementalTestCase.java index dd8c8a4c1317..4ed151e56c70 100644 --- a/jps/jps-builders/testSrc/org/jetbrains/ether/IncrementalTestCase.java +++ b/jps/jps-builders/testSrc/org/jetbrains/ether/IncrementalTestCase.java @@ -90,26 +90,22 @@ public abstract class IncrementalTestCase extends JpsBuildTestCase { } } - private void modify() throws Exception { + private void modify() { + FileUtil.processFilesRecursively(baseDir, new Processor() { + @Override + public boolean process(File file) { + if (file.getName().endsWith(".remove")) { + FileUtil.delete(getTargetFile(file, ".remove")); + } + return true; + } + }); FileUtil.processFilesRecursively(baseDir, new Processor() { @Override public boolean process(File file) { try { - String name = file.getName(); - boolean copy = name.endsWith(".new"); - boolean remove = name.endsWith(".remove"); - if (copy || remove) { - String path = FileUtil.getRelativePath(baseDir, file); - assertNotNull(path); - if (!path.contains(File.separator)) { - path = "src" + File.separator + path; - } - if (copy) { - FileUtil.copyContent(file, new File(workDir, StringUtil.trimEnd(path, ".new"))); - } - if (remove) { - FileUtil.delete(new File(workDir, StringUtil.trimEnd(path, ".remove"))); - } + if (file.getName().endsWith(".new")) { + FileUtil.copyContent(file, getTargetFile(file, ".new")); } } catch (IOException e) { @@ -120,7 +116,16 @@ public abstract class IncrementalTestCase extends JpsBuildTestCase { }); } - public BuildResult doTest() throws Exception { + private File getTargetFile(File sourceFile, final String suffix) { + String path = FileUtil.getRelativePath(baseDir, sourceFile); + assertNotNull(path); + if (!path.contains(File.separator)) { + path = "src" + File.separator + path; + } + return new File(workDir, StringUtil.trimEnd(path, suffix)); + } + + public BuildResult doTest() { if (new File(workDir, ".idea").exists()) { getOrCreateJdk(); loadProject(workDir.getAbsolutePath()); @@ -138,7 +143,7 @@ public abstract class IncrementalTestCase extends JpsBuildTestCase { return addModule(moduleName, new String[]{srcPath}, null, getOrCreateJdk()); } - protected BuildResult doTestBuild() throws Exception { + protected BuildResult doTestBuild() { final TestJavaBuilderLogger javaBuilderLogger = new TestJavaBuilderLogger(FileUtil.toSystemIndependentName(workDir.getAbsolutePath()) + "/"); final ProjectDescriptor @@ -149,11 +154,16 @@ public abstract class IncrementalTestCase extends JpsBuildTestCase { modify(); if (Utils.TIMESTAMP_ACCURACY > 1) { - Thread.sleep(Utils.TIMESTAMP_ACCURACY); + try { + Thread.sleep(Utils.TIMESTAMP_ACCURACY); + } + catch (InterruptedException ignored) { + } } - BuildResult result = doBuild(projectDescriptor, new AllProjectScope(myJpsProject, Collections.emptySet(), false), true, false, false); + BuildResult result = + doBuild(projectDescriptor, new AllProjectScope(myJpsProject, Collections.emptySet(), false), true, false, false); final ByteArrayOutputStream makeDump = new ByteArrayOutputStream(); @@ -186,6 +196,9 @@ public abstract class IncrementalTestCase extends JpsBuildTestCase { } return result; } + catch (IOException e) { + throw new RuntimeException(e); + } finally { projectDescriptor.release(); }