summaryrefslogtreecommitdiffstats
path: root/jack-tests
diff options
context:
space:
mode:
authorBenoit Lamarche <benoitlamarche@google.com>2015-06-03 18:57:20 +0200
committerBenoit Lamarche <benoitlamarche@google.com>2015-06-17 17:59:02 +0200
commit397c97b3fd080ea3db25851e7de1c07bc3f9cba1 (patch)
treebbab3263c7750052793311e80323b0300070ffeb /jack-tests
parent48b0af54ccabf715f1ead0a5c281984bbdc04237 (diff)
downloadtoolchain_jack-397c97b3fd080ea3db25851e7de1c07bc3f9cba1.tar.gz
toolchain_jack-397c97b3fd080ea3db25851e7de1c07bc3f9cba1.tar.bz2
toolchain_jack-397c97b3fd080ea3db25851e7de1c07bc3f9cba1.zip
Adapt and fix DependenciesTests
Bug: 21486756 (cherry picked from commit 2b27649753700cc3ab6194afc51f8192c472d241) Change-Id: I69da6542c52940f13b6304675e8324386bb4228f
Diffstat (limited to 'jack-tests')
-rw-r--r--jack-tests/src/com/android/jack/test/helper/IncrementalTestHelper.java79
-rw-r--r--jack-tests/tests/com/android/jack/experimental/incremental/DependenciesTest009.java20
2 files changed, 51 insertions, 48 deletions
diff --git a/jack-tests/src/com/android/jack/test/helper/IncrementalTestHelper.java b/jack-tests/src/com/android/jack/test/helper/IncrementalTestHelper.java
index 23ceacad..237abf85 100644
--- a/jack-tests/src/com/android/jack/test/helper/IncrementalTestHelper.java
+++ b/jack-tests/src/com/android/jack/test/helper/IncrementalTestHelper.java
@@ -18,7 +18,7 @@ package com.android.jack.test.helper;
import com.android.jack.library.FileType;
import com.android.jack.library.InputJackLibrary;
-import com.android.jack.library.InputJackLibraryCodec;
+import com.android.jack.library.LibraryIOException;
import com.android.jack.test.runner.AbstractRuntimeRunner;
import com.android.jack.test.runner.RuntimeRunner;
import com.android.jack.test.toolchain.AbstractTestTools;
@@ -27,7 +27,6 @@ import com.android.jack.test.toolchain.JackApiToolchainBase;
import com.android.jack.test.toolchain.JackBasedToolchain.MultiDexKind;
import com.android.jack.test.toolchain.JackCliToolchain;
import com.android.jack.test.toolchain.LegacyJillToolchain;
-import com.android.sched.util.codec.CodecContext;
import com.android.sched.vfs.InputVFile;
import com.android.sched.vfs.VPath;
@@ -128,30 +127,46 @@ public class IncrementalTestHelper {
fileModificationDate.clear();
}
- public void snapshotJackFilesModificationDate() {
- Iterator<InputVFile> jayceIter = getJayceIterator();
- while (jayceIter.hasNext()) {
- InputVFile jayceFile = jayceIter.next();
- fileModificationDate.put(jayceFile.getPathFromRoot(),
- Long.valueOf(jayceFile.getLastModified()));
+ public void snapshotJackFilesModificationDate() throws LibraryIOException {
+ InputJackLibrary compilerStateLib = null;
+ try {
+ compilerStateLib = AbstractTestTools.getInputJackLibraryFromDir(compilerStateFolder);
+ Iterator<InputVFile> jayceIter = compilerStateLib.iterator(FileType.JAYCE);
+ while (jayceIter.hasNext()) {
+ InputVFile jayceFile = jayceIter.next();
+ fileModificationDate.put(jayceFile.getPathFromRoot(),
+ Long.valueOf(jayceFile.getLastModified()));
+ }
+ } finally {
+ if (compilerStateLib != null) {
+ compilerStateLib.close();
+ }
}
}
@Nonnull
- public List<String> getFQNOfRebuiltTypes() {
+ public List<String> getFQNOfRebuiltTypes() throws LibraryIOException {
assert !fileModificationDate.isEmpty();
List<String> fqnOfRebuiltTypes = new ArrayList<String>();
- Iterator<InputVFile> jayceIter = getJayceIterator();
- while (jayceIter.hasNext()) {
- InputVFile jayceFile = jayceIter.next();
- VPath path = jayceFile.getPathFromRoot();
- Long previousDate = fileModificationDate.get(path);
- if (previousDate == null || jayceFile.getLastModified() > previousDate.longValue()) {
- String fqnWithExtension = path.getPathAsString('.');
- String fqn = fqnWithExtension.substring(0,
- fqnWithExtension.lastIndexOf(FileType.JAYCE.getFileExtension()));
- fqnOfRebuiltTypes.add(fqn);
+ InputJackLibrary compilerStateLib = null;
+ try {
+ compilerStateLib = AbstractTestTools.getInputJackLibraryFromDir(compilerStateFolder);
+ Iterator<InputVFile> jayceIter = compilerStateLib.iterator(FileType.JAYCE);
+ while (jayceIter.hasNext()) {
+ InputVFile jayceFile = jayceIter.next();
+ VPath path = jayceFile.getPathFromRoot();
+ Long previousDate = fileModificationDate.get(path);
+ if (previousDate == null || jayceFile.getLastModified() > previousDate.longValue()) {
+ String fqnWithExtension = path.getPathAsString('.');
+ String fqn = fqnWithExtension.substring(0,
+ fqnWithExtension.lastIndexOf(FileType.JAYCE.getFileExtension()));
+ fqnOfRebuiltTypes.add(fqn);
+ }
+ }
+ } finally {
+ if (compilerStateLib != null) {
+ compilerStateLib.close();
}
}
@@ -218,20 +233,20 @@ public class IncrementalTestHelper {
}
@Nonnull
- public Iterator<InputVFile> getJayceIterator() {
- InputJackLibrary compilerStateLib =
- new InputJackLibraryCodec().parseString(new CodecContext(), compilerStateFolder.getPath());
-
- return compilerStateLib.iterator(FileType.JAYCE);
- }
-
- @Nonnull
- public int getJayceCount() {
+ public int getJayceCount() throws LibraryIOException {
int size = 0;
- Iterator<InputVFile> jayceIter = getJayceIterator();
- while (jayceIter.hasNext()) {
- size++;
- jayceIter.next();
+ InputJackLibrary compilerStateLib = null;
+ try {
+ compilerStateLib = AbstractTestTools.getInputJackLibraryFromDir(compilerStateFolder);
+ Iterator<InputVFile> jayceIter = compilerStateLib.iterator(FileType.JAYCE);
+ while (jayceIter.hasNext()) {
+ size++;
+ jayceIter.next();
+ }
+ } finally {
+ if (compilerStateLib != null) {
+ compilerStateLib.close();
+ }
}
return size;
}
diff --git a/jack-tests/tests/com/android/jack/experimental/incremental/DependenciesTest009.java b/jack-tests/tests/com/android/jack/experimental/incremental/DependenciesTest009.java
index fce94f95..ca773906 100644
--- a/jack-tests/tests/com/android/jack/experimental/incremental/DependenciesTest009.java
+++ b/jack-tests/tests/com/android/jack/experimental/incremental/DependenciesTest009.java
@@ -21,24 +21,15 @@ import com.android.jack.analysis.dependency.type.TypeDependencies;
import com.android.jack.library.FileType;
import com.android.jack.library.FileTypeDoesNotExistException;
import com.android.jack.library.InputJackLibrary;
-import com.android.jack.library.JackLibraryFactory;
-import com.android.jack.test.category.KnownBugs;
import com.android.jack.test.helper.IncrementalTestHelper;
import com.android.jack.test.toolchain.AbstractTestTools;
import com.android.sched.util.file.CannotReadException;
-import com.android.sched.util.file.Directory;
-import com.android.sched.util.file.FileOrDirectory.ChangePermission;
-import com.android.sched.util.file.FileOrDirectory.Existence;
-import com.android.sched.util.file.FileOrDirectory.Permission;
-import com.android.sched.vfs.DirectFS;
import com.android.sched.vfs.InputVFile;
import junit.framework.Assert;
import org.junit.BeforeClass;
-import org.junit.Ignore;
import org.junit.Test;
-import org.junit.experimental.categories.Category;
import java.io.IOException;
import java.io.InputStreamReader;
@@ -63,7 +54,6 @@ public class DependenciesTest009 {
* identical.
*/
@Test
- @Ignore
public void testDependency001() throws Exception {
IncrementalTestHelper ite =
new IncrementalTestHelper(AbstractTestTools.createTempDir());
@@ -81,11 +71,9 @@ public class DependenciesTest009 {
ite.incrementalBuildFromFolder();
- DirectFS directFS = null;
+ InputJackLibrary inputJackLibrary = null;
try {
- directFS = new DirectFS(new Directory(ite.getCompilerStateFolder().getPath(), null,
- Existence.MUST_EXIST, Permission.READ, ChangePermission.NOCHANGE), Permission.READ);
- InputJackLibrary inputJackLibrary = JackLibraryFactory.getInputLibrary(directFS);
+ inputJackLibrary = AbstractTestTools.getInputJackLibrary(ite.getCompilerStateFolder());
TypeDependencies typeDependencies = readTypeDependencies(inputJackLibrary);
@@ -102,8 +90,8 @@ public class DependenciesTest009 {
assert dependencies1.equals(dependencies2);
Assert.assertEquals(dependencies1, dependencies2);
} finally {
- if (directFS != null) {
- directFS.close();
+ if (inputJackLibrary != null) {
+ inputJackLibrary.close();
}
}
}