diff options
author | Li Haoyi <haoyi.sg@gmail.com> | 2017-10-29 10:58:57 -0700 |
---|---|---|
committer | Li Haoyi <haoyi.sg@gmail.com> | 2017-10-29 10:58:57 -0700 |
commit | d3ac2ca2c3a581152323d315d3765a18c2fb02c0 (patch) | |
tree | a84748888f6fa501f962f88b0000672742cbe17f /src/test | |
parent | 1b940e9c1341f6f8e42293661b6dcdbffecbe66e (diff) | |
download | mill-d3ac2ca2c3a581152323d315d3765a18c2fb02c0.tar.gz mill-d3ac2ca2c3a581152323d315d3765a18c2fb02c0.tar.bz2 mill-d3ac2ca2c3a581152323d315d3765a18c2fb02c0.zip |
WIP
- Making `groupAroundNamedTargets` return a `MutableBiMap`
- Make `evaluateGroupCached` also take note of the `sideHash`es of upstream targets, to handle cases like `Path`s where the path you're returning doesn't change but we still want to invalidate it anyway
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/scala/forge/GraphTests.scala | 17 | ||||
-rw-r--r-- | src/test/scala/forge/Main.scala | 21 |
2 files changed, 17 insertions, 21 deletions
diff --git a/src/test/scala/forge/GraphTests.scala b/src/test/scala/forge/GraphTests.scala index 86955fda..5cfea75d 100644 --- a/src/test/scala/forge/GraphTests.scala +++ b/src/test/scala/forge/GraphTests.scala @@ -81,16 +81,15 @@ object GraphTests extends TestSuite{ target: Target.Test, expected: OSet[(OSet[Target.Test], Int)]) = { - val mapping: Map[Target[_], Seq[String]] = { - implicitly[Discovered[T]].apply(base).map(_.swap).toMap - } - val grouped = Evaluator.groupAroundNamedTargets( - Evaluator.topoSortedTransitiveTargets(OSet(target)), - mapping - ) - TestUtil.checkTopological(grouped.flatMap(_.items)) + val mapping = Discovered.mapping(base) + val topoSortedTransitive = Evaluator.topoSortedTransitiveTargets(OSet(target)) + + val grouped = Evaluator.groupAroundNamedTargets(topoSortedTransitive, mapping) + val flattened = OSet.from(grouped.values().flatMap(_.items)) + + TestUtil.checkTopological(flattened) for(((expectedPresent, expectedSize), i) <- expected.items.zipWithIndex){ - val grouping = grouped.items(i) + val grouping = grouped.lookupKey(i) assert( grouping.size == expectedSize, grouping.filter(mapping.contains) == expectedPresent diff --git a/src/test/scala/forge/Main.scala b/src/test/scala/forge/Main.scala index e4e38b23..99237e32 100644 --- a/src/test/scala/forge/Main.scala +++ b/src/test/scala/forge/Main.scala @@ -4,20 +4,17 @@ import java.util.jar.JarEntry import collection.JavaConverters._ import ammonite.ops._ object Main{ + val sourceRoot = Target.path(pwd / 'src / 'test / 'resources / 'example / 'src) + val resourceRoot = Target.path(pwd / 'src / 'test / 'resources / 'example / 'resources) + val allSources = list(sourceRoot) + val classFiles = compileAll(allSources) + val jar = jarUp(resourceRoot, classFiles) def main(args: Array[String]): Unit = { - - val sourceRoot = Target.path(pwd / 'src / 'test / 'resources / 'example / 'src) - val resourceRoot = Target.path(pwd / 'src / 'test / 'resources / 'example / 'resources) - val allSources = list(sourceRoot) - val classFiles = compileAll(allSources) - val jar = jarUp(resourceRoot, classFiles) - -// val evaluator = new Evaluator( -// Paths.get("target/workspace"), -// DefCtx("forge.Main ", None) -// ) -// evaluator.evaluate(OSet(jar)) + val mapping = Discovered.mapping(Main) + val evaluator = new Evaluator(pwd / 'target / 'workspace / 'main, mapping) + val res = evaluator.evaluate(OSet(jar)) + println(res.evaluated.collect(mapping)) } def compileAll(sources: Target[Seq[Path]]) = { new Target.Subprocess( |