From ec1163b8bf550a6eddd366c2e9d72f281e605b97 Mon Sep 17 00:00:00 2001 From: Alex Chepurnoy Date: Sun, 26 Jul 2020 20:52:01 +0300 Subject: [PATCH 1/3] fixing too many open files error --- build.sbt | 2 +- .../scorex/testkit/utils/FileUtils.scala | 27 +++++++++---------- 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/build.sbt b/build.sbt index 571561334..b6b516248 100644 --- a/build.sbt +++ b/build.sbt @@ -3,7 +3,7 @@ import scala.util.Try name := "scorex-core" lazy val commonSettings = Seq( - scalaVersion := "2.12.3", + scalaVersion := "2.12.10", resolvers += Resolver.sonatypeRepo("public"), wartremoverErrors ++= Seq( Wart.Recursion, diff --git a/testkit/src/main/scala/scorex/testkit/utils/FileUtils.scala b/testkit/src/main/scala/scorex/testkit/utils/FileUtils.scala index 4417b68f0..7b8a6aa75 100644 --- a/testkit/src/main/scala/scorex/testkit/utils/FileUtils.scala +++ b/testkit/src/main/scala/scorex/testkit/utils/FileUtils.scala @@ -1,8 +1,6 @@ package scorex.testkit.utils -import java.io.IOException -import java.nio.file.attribute.BasicFileAttributes -import java.nio.file.{FileVisitResult, Files, Path, SimpleFileVisitor} +import java.nio.file.Path import org.scalacheck.Gen @@ -35,21 +33,22 @@ trait FileUtils { createTempDirForPrefix(prefix) } + + @SuppressWarnings(Array("org.wartremover.warts.Recursion")) + def deleteRecursive(dir: java.io.File): Unit = { + for (file <- dir.listFiles) { + if (!file.getName.startsWith(".")) { + if (file.isDirectory) deleteRecursive(file) + file.delete() + } + } + } + /** * Recursively remove all files and directories in `root` */ def remove(root: Path): Unit = { - Files.walkFileTree(root, new SimpleFileVisitor[Path] { - override def visitFile(file: Path, attrs: BasicFileAttributes): FileVisitResult = { - Files.delete(file) - FileVisitResult.CONTINUE - } - - override def postVisitDirectory(dir: Path, exc: IOException): FileVisitResult = { - Files.delete(dir) - FileVisitResult.CONTINUE - } - }) + deleteRecursive(root.toFile) } private def createTempDirForPrefix(prefix: String): java.io.File = { From 76a938548c85b5e25a24ddf38a1905af5cf63056 Mon Sep 17 00:00:00 2001 From: Alex Chepurnoy Date: Mon, 27 Jul 2020 14:26:25 +0300 Subject: [PATCH 2/3] fixing null warning in tests --- src/test/scala/scorex/network/NetworkControllerSpec.scala | 1 + 1 file changed, 1 insertion(+) diff --git a/src/test/scala/scorex/network/NetworkControllerSpec.scala b/src/test/scala/scorex/network/NetworkControllerSpec.scala index 3878c9280..7083382d0 100644 --- a/src/test/scala/scorex/network/NetworkControllerSpec.scala +++ b/src/test/scala/scorex/network/NetworkControllerSpec.scala @@ -336,6 +336,7 @@ class TestPeer(settings: ScorexSettings, networkControllerRef: ActorRef, tcpMana private val messageSpecs = Seq(GetPeersSpec, peersSpec) private val messagesSerializer = new MessageSerializer(messageSpecs, settings.network.magicBytes) + @SuppressWarnings(Array("org.wartremover.warts.Null")) private var connectionHandler: ActorRef = _ /** From 97c0a07748be8c0265c92177e2b424d98f677d1a Mon Sep 17 00:00:00 2001 From: Alex Chepurnoy Date: Mon, 27 Jul 2020 14:33:03 +0300 Subject: [PATCH 3/3] deleteRecursive made internal to remove --- .../scorex/testkit/utils/FileUtils.scala | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/testkit/src/main/scala/scorex/testkit/utils/FileUtils.scala b/testkit/src/main/scala/scorex/testkit/utils/FileUtils.scala index 7b8a6aa75..142b19eb8 100644 --- a/testkit/src/main/scala/scorex/testkit/utils/FileUtils.scala +++ b/testkit/src/main/scala/scorex/testkit/utils/FileUtils.scala @@ -33,21 +33,21 @@ trait FileUtils { createTempDirForPrefix(prefix) } + /** + * Recursively remove all the files and directories in `root` + */ + def remove(root: Path): Unit = { - @SuppressWarnings(Array("org.wartremover.warts.Recursion")) - def deleteRecursive(dir: java.io.File): Unit = { - for (file <- dir.listFiles) { - if (!file.getName.startsWith(".")) { - if (file.isDirectory) deleteRecursive(file) + @SuppressWarnings(Array("org.wartremover.warts.Recursion")) + def deleteRecursive(dir: java.io.File): Unit = { + for (file <- dir.listFiles) { + if (file.isDirectory){ + deleteRecursive(file) + } file.delete() } } - } - /** - * Recursively remove all files and directories in `root` - */ - def remove(root: Path): Unit = { deleteRecursive(root.toFile) }