diff options
author | Benoit Lamarche <benoitlamarche@google.com> | 2015-06-03 18:57:20 +0200 |
---|---|---|
committer | Benoit Lamarche <benoitlamarche@google.com> | 2015-06-17 17:59:02 +0200 |
commit | 397c97b3fd080ea3db25851e7de1c07bc3f9cba1 (patch) | |
tree | bbab3263c7750052793311e80323b0300070ffeb /jack-tests | |
parent | 48b0af54ccabf715f1ead0a5c281984bbdc04237 (diff) | |
download | toolchain_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.java | 79 | ||||
-rw-r--r-- | jack-tests/tests/com/android/jack/experimental/incremental/DependenciesTest009.java | 20 |
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(); } } } |