summaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2017-10-29 12:23:14 -0700
committerLi Haoyi <haoyi.sg@gmail.com>2017-10-29 12:23:14 -0700
commit04a9cac84f0bb6d5f9d573539fbb54c81d689148 (patch)
tree3c11e75f15123f6944b9613c2e7d6443c40e0fed /src/test
parente457333ca386fccf3a79c6d69b0eb86d96d47281 (diff)
downloadmill-04a9cac84f0bb6d5f9d573539fbb54c81d689148.tar.gz
mill-04a9cac84f0bb6d5f9d573539fbb54c81d689148.tar.bz2
mill-04a9cac84f0bb6d5f9d573539fbb54c81d689148.zip
Finished migrating over to using `PathRef` to propagate changes to file paths and folders.
`sideHash` remains, but is only used for direct "do I re-evaluate" checks, and relies on the return values to force downstream targets to re-evaluate if necessary
Diffstat (limited to 'src/test')
-rw-r--r--src/test/scala/forge/EvaluationTests.scala2
-rw-r--r--src/test/scala/forge/Framework.scala4
-rw-r--r--src/test/scala/forge/Main.scala20
3 files changed, 16 insertions, 10 deletions
diff --git a/src/test/scala/forge/EvaluationTests.scala b/src/test/scala/forge/EvaluationTests.scala
index 7b47646c..2c18be2f 100644
--- a/src/test/scala/forge/EvaluationTests.scala
+++ b/src/test/scala/forge/EvaluationTests.scala
@@ -22,6 +22,7 @@ object EvaluationTests extends TestSuite{
def apply(target: Target[_], expValue: Any,
expEvaled: OSet[Target[_]],
extraEvaled: Int = 0) = {
+
val Evaluator.Results(returnedValues, returnedEvaluated) = evaluator.evaluate(OSet(target))
val (matchingReturnedEvaled, extra) = returnedEvaluated.items.partition(expEvaled.contains)
@@ -31,6 +32,7 @@ object EvaluationTests extends TestSuite{
matchingReturnedEvaled.toSet == expEvaled.toSet,
extra.length == extraEvaled
)
+
// Second time the value is already cached, so no evaluation needed
val Evaluator.Results(returnedValues2, returnedEvaluated2) = evaluator.evaluate(OSet(target))
assert(
diff --git a/src/test/scala/forge/Framework.scala b/src/test/scala/forge/Framework.scala
index ccfdf69b..d1aa7434 100644
--- a/src/test/scala/forge/Framework.scala
+++ b/src/test/scala/forge/Framework.scala
@@ -4,4 +4,8 @@ class Framework extends utest.runner.Framework {
override def exceptionStackFrameHighlighter(s: StackTraceElement) = {
s.getClassName.startsWith("forge.")
}
+ override def setup() = {
+ import ammonite.ops._
+ rm(pwd / 'target / 'workspace)
+ }
}
diff --git a/src/test/scala/forge/Main.scala b/src/test/scala/forge/Main.scala
index 99237e32..2ef6083b 100644
--- a/src/test/scala/forge/Main.scala
+++ b/src/test/scala/forge/Main.scala
@@ -16,38 +16,38 @@ object Main{
val res = evaluator.evaluate(OSet(jar))
println(res.evaluated.collect(mapping))
}
- def compileAll(sources: Target[Seq[Path]]) = {
+ def compileAll(sources: Target[Seq[PathRef]]) = {
new Target.Subprocess(
Seq(sources),
args =>
Seq("javac") ++
- args[Seq[Path]](0).map(_.toString) ++
+ args[Seq[PathRef]](0).map(_.path.toString) ++
Seq("-d", args.dest.toString)
).map(_.dest)
}
- def list(root: Target[Path]): Target[Seq[Path]] = {
- root.map(ls.rec)
+ def list(root: Target[PathRef]): Target[Seq[PathRef]] = {
+ root.map(x => ls.rec(x.path).map(PathRef(_)))
}
- case class jarUp(roots: Target[Path]*) extends Target[Path]{
+ case class jarUp(roots: Target[PathRef]*) extends Target[PathRef]{
val inputs = roots
- def evaluate(args: Args): Path = {
+ def evaluate(args: Args): PathRef = {
val output = new java.util.jar.JarOutputStream(new FileOutputStream(args.dest.toIO))
for{
root0 <- args.args
- root = root0.asInstanceOf[Path]
+ root = root0.asInstanceOf[PathRef]
- path <- ls.rec(root)
+ path <- ls.rec(root.path)
if path.isFile
}{
- val relative = path.relativeTo(root)
+ val relative = path.relativeTo(root.path)
output.putNextEntry(new JarEntry(relative.toString))
output.write(read.bytes(path))
}
output.close()
- args.dest
+ PathRef(args.dest)
}