You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@geode.apache.org by GitBox <gi...@apache.org> on 2018/12/11 18:43:59 UTC

[GitHub] nabarunnag closed pull request #20: GEODE-6138: Upgrade to JUnit 5

nabarunnag closed pull request #20: GEODE-6138: Upgrade to JUnit 5
URL: https://github.com/apache/geode-benchmarks/pull/20
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/build.gradle b/build.gradle
index 2e3e2b9..8e1b288 100644
--- a/build.gradle
+++ b/build.gradle
@@ -34,6 +34,10 @@ apply plugin: 'com.bmuschko.docker-remote-api'
 
 // Import task types
 import com.bmuschko.gradle.docker.tasks.image.DockerBuildImage
+// Load all properties in dependency-version.properties as project properties, so all projects can read them
+Properties dependencyVersions = new Properties()
+dependencyVersions.load(new FileInputStream("${project.projectDir}/gradle/dependency-versions.properties"))
+dependencyVersions.keys().each{ k -> project.ext[k] = dependencyVersions[k]}
 
 // Use task types
 task buildTestingImage(type: DockerBuildImage) {
diff --git a/geode-benchmarks/build.gradle b/geode-benchmarks/build.gradle
index d6469c6..a4fa8bd 100644
--- a/geode-benchmarks/build.gradle
+++ b/geode-benchmarks/build.gradle
@@ -37,9 +37,11 @@ repositories {
 }
 
 dependencies {
-    compile(group: 'junit', name: 'junit', version: '4.12')
+    testImplementation(group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: project.'junit-jupiter-api.version')
+    testRuntimeOnly(group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: project.'junit-jupiter-engine.version')
+    compile(group: 'org.junit-pioneer', name: 'junit-pioneer', version: project.'junit-pioneer.version')
     compile(group: 'org.apache.geode', name: 'geode-core', version: geodeVersion)
-    compile(group: 'org.slf4j', name: 'slf4j-simple', version: '1.7.25')
+    compile(group: 'org.slf4j', name: 'slf4j-simple', version: project.'slf4j-simple.version')
     compile(project(':harness'))
 }
 
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/PartitionedGetBenchmark.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/PartitionedGetBenchmark.java
index 1964fc9..3fada0a 100644
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/PartitionedGetBenchmark.java
+++ b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/PartitionedGetBenchmark.java
@@ -21,7 +21,7 @@
 import static org.apache.geode.benchmark.tests.util.ClientServerTopology.Roles.CLIENT;
 import static org.apache.geode.benchmark.tests.util.ClientServerTopology.Roles.SERVER;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import org.apache.geode.benchmark.tasks.CreateClientProxyRegion;
 import org.apache.geode.benchmark.tasks.CreatePartitionedRegion;
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/PartitionedPutBenchmark.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/PartitionedPutBenchmark.java
index 41753cd..cfa7b74 100644
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/PartitionedPutBenchmark.java
+++ b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/PartitionedPutBenchmark.java
@@ -20,7 +20,7 @@
 import static org.apache.geode.benchmark.tests.util.ClientServerTopology.Roles.CLIENT;
 import static org.apache.geode.benchmark.tests.util.ClientServerTopology.Roles.SERVER;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import org.apache.geode.benchmark.tasks.CreateClientProxyRegion;
 import org.apache.geode.benchmark.tasks.CreatePartitionedRegion;
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/ReplicatedGetBenchmark.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/ReplicatedGetBenchmark.java
index ae7fea2..adc1c0e 100644
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/ReplicatedGetBenchmark.java
+++ b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/ReplicatedGetBenchmark.java
@@ -21,7 +21,7 @@
 import static org.apache.geode.benchmark.tests.util.ClientServerTopology.Roles.CLIENT;
 import static org.apache.geode.benchmark.tests.util.ClientServerTopology.Roles.SERVER;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import org.apache.geode.benchmark.tasks.CreateClientProxyRegion;
 import org.apache.geode.benchmark.tasks.CreateReplicatedRegion;
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/ReplicatedPutBenchmark.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/ReplicatedPutBenchmark.java
index 6a12645..f78c56b 100644
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/ReplicatedPutBenchmark.java
+++ b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/ReplicatedPutBenchmark.java
@@ -20,7 +20,7 @@
 import static org.apache.geode.benchmark.tests.util.ClientServerTopology.Roles.CLIENT;
 import static org.apache.geode.benchmark.tests.util.ClientServerTopology.Roles.SERVER;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import org.apache.geode.benchmark.tasks.CreateClientProxyRegion;
 import org.apache.geode.benchmark.tasks.CreateReplicatedRegion;
diff --git a/geode-benchmarks/src/test/java/org/apache/geode/benchmark/tests/PartitionedGetBenchmarkTest.java b/geode-benchmarks/src/test/java/org/apache/geode/benchmark/tests/PartitionedGetBenchmarkTest.java
index 1d3f21c..5ce2cdb 100644
--- a/geode-benchmarks/src/test/java/org/apache/geode/benchmark/tests/PartitionedGetBenchmarkTest.java
+++ b/geode-benchmarks/src/test/java/org/apache/geode/benchmark/tests/PartitionedGetBenchmarkTest.java
@@ -14,19 +14,31 @@
  */
 package org.apache.geode.benchmark.tests;
 
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
+
+import java.io.File;
+import java.nio.file.Path;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.junitpioneer.jupiter.TempDirectory;
 
 import org.apache.geode.perftest.TestRunners;
 
+@ExtendWith(TempDirectory.class)
 public class PartitionedGetBenchmarkTest {
-  @Rule
-  public TemporaryFolder folder = new TemporaryFolder();
+
+  private File folder;
+
+  @BeforeEach
+  void createTemporaryFolder(@TempDirectory.TempDir Path tempFolder) {
+    folder = tempFolder.toFile();
+  }
 
   @Test
-  public void benchmarkRunsSuccessfully() throws Exception {
-    TestRunners.minimalRunner(folder.newFolder())
+  public void benchmarkRunsSuccessfully()
+      throws Exception {
+    TestRunners.minimalRunner(folder)
         .runTest(new PartitionedGetBenchmark(100));
   }
 }
diff --git a/geode-benchmarks/src/test/java/org/apache/geode/benchmark/tests/PartitionedPutBenchmarkTest.java b/geode-benchmarks/src/test/java/org/apache/geode/benchmark/tests/PartitionedPutBenchmarkTest.java
index 14388be..a016c53 100644
--- a/geode-benchmarks/src/test/java/org/apache/geode/benchmark/tests/PartitionedPutBenchmarkTest.java
+++ b/geode-benchmarks/src/test/java/org/apache/geode/benchmark/tests/PartitionedPutBenchmarkTest.java
@@ -17,20 +17,32 @@
 
 package org.apache.geode.benchmark.tests;
 
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
+
+
+import java.io.File;
+import java.nio.file.Path;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.junitpioneer.jupiter.TempDirectory;
 
 import org.apache.geode.perftest.TestRunners;
 
+@ExtendWith(TempDirectory.class)
 public class PartitionedPutBenchmarkTest {
 
-  @Rule
-  public TemporaryFolder folder = new TemporaryFolder();
+  private File folder;
+
+  @BeforeEach
+  void createTemporaryFolder(@TempDirectory.TempDir Path tempFolder) {
+    folder = tempFolder.toFile();
+  }
 
   @Test
-  public void benchmarkRunsSuccessfully() throws Exception {
-    TestRunners.minimalRunner(folder.newFolder())
+  public void benchmarkRunsSuccessfully()
+      throws Exception {
+    TestRunners.minimalRunner(folder)
         .runTest(new PartitionedPutBenchmark(100));
   }
 }
diff --git a/geode-benchmarks/src/test/java/org/apache/geode/benchmark/tests/ReplicatedGetBenchmarkTest.java b/geode-benchmarks/src/test/java/org/apache/geode/benchmark/tests/ReplicatedGetBenchmarkTest.java
index d71c1eb..f9283de 100644
--- a/geode-benchmarks/src/test/java/org/apache/geode/benchmark/tests/ReplicatedGetBenchmarkTest.java
+++ b/geode-benchmarks/src/test/java/org/apache/geode/benchmark/tests/ReplicatedGetBenchmarkTest.java
@@ -14,19 +14,31 @@
  */
 package org.apache.geode.benchmark.tests;
 
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
+
+import java.io.File;
+import java.nio.file.Path;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.junitpioneer.jupiter.TempDirectory;
 
 import org.apache.geode.perftest.TestRunners;
 
+@ExtendWith(TempDirectory.class)
 public class ReplicatedGetBenchmarkTest {
-  @Rule
-  public TemporaryFolder folder = new TemporaryFolder();
+
+  private File folder;
+
+  @BeforeEach
+  void createTemporaryFolder(@TempDirectory.TempDir Path tempFolder) {
+    folder = tempFolder.toFile();
+  }
 
   @Test
-  public void benchmarkRunsSuccessfully() throws Exception {
-    TestRunners.minimalRunner(folder.newFolder())
+  public void benchmarkRunsSuccessfully()
+      throws Exception {
+    TestRunners.minimalRunner(folder)
         .runTest(new ReplicatedGetBenchmark(100));
   }
 }
diff --git a/geode-benchmarks/src/test/java/org/apache/geode/benchmark/tests/ReplicatedPutBenchmarkTest.java b/geode-benchmarks/src/test/java/org/apache/geode/benchmark/tests/ReplicatedPutBenchmarkTest.java
index 27547da..fad7351 100644
--- a/geode-benchmarks/src/test/java/org/apache/geode/benchmark/tests/ReplicatedPutBenchmarkTest.java
+++ b/geode-benchmarks/src/test/java/org/apache/geode/benchmark/tests/ReplicatedPutBenchmarkTest.java
@@ -17,20 +17,30 @@
 
 package org.apache.geode.benchmark.tests;
 
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
+import java.io.File;
+import java.nio.file.Path;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.junitpioneer.jupiter.TempDirectory;
 
 import org.apache.geode.perftest.TestRunners;
 
+@ExtendWith(TempDirectory.class)
 public class ReplicatedPutBenchmarkTest {
 
-  @Rule
-  public TemporaryFolder folder = new TemporaryFolder();
+  private File folder;
+
+  @BeforeEach
+  void createTemporaryFolder(@TempDirectory.TempDir Path tempFolder) {
+    folder = tempFolder.toFile();
+  }
 
   @Test
-  public void benchmarkRunsSuccessfully() throws Exception {
-    TestRunners.minimalRunner(folder.newFolder())
+  public void benchmarkRunsSuccessfully()
+      throws Exception {
+    TestRunners.minimalRunner(folder)
         .runTest(new ReplicatedPutBenchmark(100));
   }
 }
diff --git a/gradle.properties b/gradle.properties
new file mode 100644
index 0000000..801624f
--- /dev/null
+++ b/gradle.properties
@@ -0,0 +1,44 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# The versionNumber follows semantic versioning conventions.
+versionNumber = 1.9.0
+
+# The releaseQualifier uses the following conventions:
+#   .M?       - milestone release
+#   -beta.?   - beta release
+#   <blank>   - release
+releaseQualifier =
+# The releaseType uses the following conventions:
+#   -SNAPSHOT - development version
+#   <blank>   - release
+releaseType = -SNAPSHOT
+
+# Maven also uses the project group as a prefix.
+group = org.apache.geode
+
+# 'apply from:' location for gradle scripts, relative to the project root.  Specified here so that
+# it may be overridden by external projects or custom develop environment configurations
+scriptDir = gradle
+
+# Set the buildId to add build metadata that can be viewed from
+# gfsh or pulse (`gfsh version --full`). Can be set using
+# `gradle -PbuildId=N ...` where N is an artibitrary string.buildId = 0
+buildId = 0
+
+productName = Apache Geode
+productOrg = Apache Software Foundation (ASF)
+
+minimumGradleVersion = 4.10.1
\ No newline at end of file
diff --git a/gradle/dependency-versions.properties b/gradle/dependency-versions.properties
new file mode 100644
index 0000000..19d53eb
--- /dev/null
+++ b/gradle/dependency-versions.properties
@@ -0,0 +1,29 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Dependency versions
+junit-jupiter-api.version = 5.3.2
+junit-jupiter-engine.version = 5.3.2
+junit-pioneer.version = 0.3.0
+geode-core.version = 1.7.0
+slf4j-simple.version = 1.7.25
+sshj.version = 0.26.0
+commons-io.version = 2.6
+yardstick.version = 0.8.3
+HdrHistogram.version = 2.1.10
+mockito-all.version = 1.10.19
+awaitility.version = 3.0.0
+sshd-core.version = 2.1.0
+assertj-core.version = 3.11.1
diff --git a/harness/build.gradle b/harness/build.gradle
index 362ac59..c75ee52 100644
--- a/harness/build.gradle
+++ b/harness/build.gradle
@@ -35,14 +35,16 @@ task(analyzeRun, dependsOn: 'classes', type: JavaExec) {
 }
 
 dependencies {
-    testCompile(group: 'junit', name: 'junit', version: '4.12')
-    compile(group: 'com.hierynomus', name: 'sshj', version: '0.26.0')
-    compile(group: 'commons-io', name: 'commons-io', version: '2.6')
-    compile(group: 'org.yardstickframework', name: 'yardstick', version: '0.8.3')
-    compile(group: 'org.hdrhistogram', name: 'HdrHistogram', version: '2.1.10')
-    testCompile(group: 'org.mockito', name: 'mockito-all', version: '1.10.19')
-    testCompile(group: 'org.awaitility', name: 'awaitility', version: '3.0.0')
-    testCompile(group: 'org.slf4j', name: 'slf4j-simple', version: '1.7.25')
-    testCompile(group: 'org.apache.sshd', name: 'sshd-core', version: '2.1.0')
-    testCompile(group: 'org.assertj', name: 'assertj-core', version: '3.11.1')
+    testImplementation(group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: project.'junit-jupiter-api.version')
+    testRuntimeOnly(group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: project.'junit-jupiter-engine.version')
+    compile(group: 'org.junit-pioneer', name: 'junit-pioneer', version: project.'junit-pioneer.version')
+    compile(group: 'com.hierynomus', name: 'sshj', version: project.'sshj.version')
+    compile(group: 'commons-io', name: 'commons-io', version: project.'commons-io.version')
+    compile(group: 'org.yardstickframework', name: 'yardstick', version: project.'yardstick.version')
+    compile(group: 'org.hdrhistogram', name: 'HdrHistogram', version: project.'HdrHistogram.version')
+    testCompile(group: 'org.mockito', name: 'mockito-all', version: project.'mockito-all.version')
+    testCompile(group: 'org.awaitility', name: 'awaitility', version: project.'awaitility.version')
+    testCompile(group: 'org.slf4j', name: 'slf4j-simple', version: project.'slf4j-simple.version')
+    testCompile(group: 'org.apache.sshd', name: 'sshd-core', version: project.'sshd-core.version')
+    testCompile(group: 'org.assertj', name: 'assertj-core', version: project.'assertj-core.version')
 }
diff --git a/harness/src/main/java/org/apache/geode/perftest/infrastructure/local/LocalInfrastructure.java b/harness/src/main/java/org/apache/geode/perftest/infrastructure/local/LocalInfrastructure.java
index 904ccc1..88adff5 100644
--- a/harness/src/main/java/org/apache/geode/perftest/infrastructure/local/LocalInfrastructure.java
+++ b/harness/src/main/java/org/apache/geode/perftest/infrastructure/local/LocalInfrastructure.java
@@ -17,6 +17,8 @@
 
 package org.apache.geode.perftest.infrastructure.local;
 
+import static java.nio.file.StandardCopyOption.REPLACE_EXISTING;
+
 import java.io.File;
 import java.io.IOException;
 import java.io.UncheckedIOException;
@@ -95,7 +97,7 @@ public void copyToNodes(Iterable<File> files, Function<Node, String> destDirFunc
       destDir.toFile().mkdirs();
 
       for (File file : files) {
-        Files.copy(file.toPath(), destDir.resolve(file.getName()));
+        Files.copy(file.toPath(), destDir.resolve(file.getName()), REPLACE_EXISTING);
       }
     }
   }
diff --git a/harness/src/test/java/org/apache/geode/perftest/TestRunnerIntegrationTest.java b/harness/src/test/java/org/apache/geode/perftest/TestRunnerIntegrationTest.java
index 229a61e..0facf5c 100644
--- a/harness/src/test/java/org/apache/geode/perftest/TestRunnerIntegrationTest.java
+++ b/harness/src/test/java/org/apache/geode/perftest/TestRunnerIntegrationTest.java
@@ -17,8 +17,8 @@
 
 package org.apache.geode.perftest;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.File;
 import java.io.IOException;
@@ -27,10 +27,10 @@
 import java.util.function.Predicate;
 import java.util.stream.Stream;
 
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.junitpioneer.jupiter.TempDirectory;
 
 import org.apache.geode.perftest.benchmarks.EmptyBenchmark;
 import org.apache.geode.perftest.infrastructure.local.LocalInfrastructureFactory;
@@ -38,18 +38,26 @@
 import org.apache.geode.perftest.runner.DefaultTestRunner;
 import org.apache.geode.perftest.yardstick.analysis.YardstickThroughputSensorParser;
 
+@ExtendWith(TempDirectory.class)
 public class TestRunnerIntegrationTest {
-  @Rule
-  public TemporaryFolder temporaryFolder = new TemporaryFolder();
+
+  Path temporaryFolder;
+
+  @BeforeEach
+  void setup(@TempDirectory.TempDir Path tempDirPath) {
+    this.temporaryFolder = tempDirPath;
+    outputDir = temporaryFolder.toFile();
+    runner = new DefaultTestRunner(new RemoteJVMFactory(new LocalInfrastructureFactory()),
+        outputDir);
+  }
+
   private TestRunner runner;
   private File outputDir;
   public static final String SAMPLE_BENCHMARK = "SampleBenchmark";
 
-  @Before
+  @BeforeEach
   public void setup() throws IOException {
-    outputDir = temporaryFolder.newFolder();
-    runner = new DefaultTestRunner(new RemoteJVMFactory(new LocalInfrastructureFactory()),
-        outputDir);
+
   }
 
   @Test
@@ -99,10 +107,10 @@ public void configuresJVMOptions() throws Exception {
       testConfig.role("all", 1);
       testConfig.jvmArgs("all", "-Dprop1=true", "-Dprop2=5");
       testConfig.before(context -> {
-        assertTrue("Expecting system property to be set in launched JVM, but it was not present.",
-            Boolean.getBoolean("prop1"));
-        assertEquals("Expecting system property to be set in launched JVM, but it was not present.",
-            5, Integer.getInteger("prop2").intValue());
+        assertTrue(Boolean.getBoolean("prop1"),
+            "Expecting system property to be set in launched JVM, but it was not present.");
+        assertEquals(5, Integer.getInteger("prop2").intValue(),
+            "Expecting system property to be set in launched JVM, but it was not present.");
       }, "all");
       return testConfig;
     });
diff --git a/harness/src/test/java/org/apache/geode/perftest/TestRunnerJUnitTest.java b/harness/src/test/java/org/apache/geode/perftest/TestRunnerJUnitTest.java
index badf894..1f36a8f 100644
--- a/harness/src/test/java/org/apache/geode/perftest/TestRunnerJUnitTest.java
+++ b/harness/src/test/java/org/apache/geode/perftest/TestRunnerJUnitTest.java
@@ -23,20 +23,30 @@
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
+import java.io.File;
+import java.nio.file.Path;
+
 import org.assertj.core.api.Assertions;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.junitpioneer.jupiter.TempDirectory;
 import org.mockito.InOrder;
 
 import org.apache.geode.perftest.jvms.RemoteJVMFactory;
 import org.apache.geode.perftest.jvms.RemoteJVMs;
 import org.apache.geode.perftest.runner.DefaultTestRunner;
 
+@ExtendWith(TempDirectory.class)
 public class TestRunnerJUnitTest {
 
-  @Rule
-  public TemporaryFolder folder = new TemporaryFolder();
+  private static File folder;
+
+  @BeforeAll
+  public static void createTemporaryFolder(@TempDirectory.TempDir Path tempFolder) {
+    folder = tempFolder.toFile();
+  }
+
 
   @Test
   public void testRunnerRunsBeforeAndAfterTasks() throws Exception {
@@ -47,7 +57,7 @@ public void testRunnerRunsBeforeAndAfterTasks() throws Exception {
     when(remoteJvmFactory.launch(any(), any())).thenReturn(remoteJVMs);
 
     TestRunner runner = new DefaultTestRunner(remoteJvmFactory,
-        folder.newFolder());
+        folder);
 
     Task before = mock(Task.class);
     Task after = mock(Task.class);
@@ -78,7 +88,7 @@ public void requiresAtLeastOneRole() throws Exception {
     when(remoteJvmFactory.launch(any(), any())).thenReturn(remoteJVMs);
 
     TestRunner runner = new DefaultTestRunner(remoteJvmFactory,
-        folder.newFolder());
+        folder);
 
     Task before = mock(Task.class);
 
diff --git a/harness/src/test/java/org/apache/geode/perftest/TestRunnersTest.java b/harness/src/test/java/org/apache/geode/perftest/TestRunnersTest.java
index 7336ec4..7163562 100644
--- a/harness/src/test/java/org/apache/geode/perftest/TestRunnersTest.java
+++ b/harness/src/test/java/org/apache/geode/perftest/TestRunnersTest.java
@@ -17,11 +17,12 @@
 
 package org.apache.geode.perftest;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
 import java.util.Arrays;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import org.apache.geode.perftest.infrastructure.ssh.SshInfrastructureFactory;
 import org.apache.geode.perftest.runner.DefaultTestRunner;
@@ -39,8 +40,9 @@ public void defaultRunnerShouldParseHosts() {
     assertEquals(Arrays.asList("localhost", "localhost"), infrastructureFactory.getHosts());
   }
 
-  @Test(expected = IllegalStateException.class)
+  @Test
   public void defaultRunnerShouldFailWithNoHosts() {
-    TestRunners.defaultRunner(null, null);
+
+    assertThrows(IllegalStateException.class, () -> TestRunners.defaultRunner(null, null));
   }
 }
diff --git a/harness/src/test/java/org/apache/geode/perftest/analysis/BenchmarkRunAnalyzerTest.java b/harness/src/test/java/org/apache/geode/perftest/analysis/BenchmarkRunAnalyzerTest.java
index f38f355..57609f7 100644
--- a/harness/src/test/java/org/apache/geode/perftest/analysis/BenchmarkRunAnalyzerTest.java
+++ b/harness/src/test/java/org/apache/geode/perftest/analysis/BenchmarkRunAnalyzerTest.java
@@ -15,47 +15,96 @@
 
 package org.apache.geode.perftest.analysis;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.PrintStream;
 import java.io.StringWriter;
+import java.nio.file.Path;
 
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.junitpioneer.jupiter.TempDirectory;
 
 import org.apache.geode.perftest.yardstick.analysis.YardstickPercentileSensorParser;
 import org.apache.geode.perftest.yardstick.analysis.YardstickThroughputSensorParser;
 
+@ExtendWith(TempDirectory.class)
 public class BenchmarkRunAnalyzerTest {
-  @Rule
-  public TemporaryFolder temporaryFolder = new TemporaryFolder();
+  private Path temporaryFolder;
+
+  @BeforeEach
+  void createTempFolder(@TempDirectory.TempDir Path tempDir) {
+    temporaryFolder = tempDir;
+  }
 
   @Test
   public void verifyResultHarvester() throws IOException {
-    final File testFolder = temporaryFolder.newFolder("testFolder");
-    final File testBenchmarkA1 = temporaryFolder.newFolder("testFolder", "BenchmarkA", "client1",
-        "20181121-111516-yardstick-output");
-    final File testBenchmarkA2 = temporaryFolder.newFolder("testFolder", "BenchmarkA", "client2",
-        "20181121-111516-yardstick-output");
-    final File testBenchmarkB1 = temporaryFolder.newFolder("testFolder", "BenchmarkB", "client1",
-        "20181121-111516-yardstick-output");
-    final File testBenchmarkB2 = temporaryFolder.newFolder("testFolder", "BenchmarkB", "client2",
-        "20181121-111516-yardstick-output");
-    temporaryFolder.newFolder(testFolder.getName(), "junkfolder");
-    new File(testFolder, "junkfile").createNewFile();
-    final File baseFolder = temporaryFolder.newFolder("baseFolder");
-    final File baseBenchmarkA1 = temporaryFolder.newFolder("baseFolder", "BenchmarkA", "client1",
-        "20181121-111516-yardstick-output");
-    final File baseBenchmarkA2 = temporaryFolder.newFolder("baseFolder", "BenchmarkA", "client2",
-        "20181121-111516-yardstick-output");
-    final File baseBenchmarkB1 = temporaryFolder.newFolder("baseFolder", "BenchmarkB", "client1",
-        "20181121-111516-yardstick-output");
-    final File baseBenchmarkB2 = temporaryFolder.newFolder("baseFolder", "BenchmarkB", "client2",
-        "20181121-111516-yardstick-output");
+    final File testFolder = temporaryFolder.resolve("testFolder").toFile();
+    final File testBenchmarkA1 = temporaryFolder
+        .resolve("testFolder")
+        .resolve("BenchmarkA")
+        .resolve("client1")
+        .resolve("20181121-111516-yardstick-output")
+        .toFile();
+    assertTrue(testBenchmarkA1.mkdirs());
+    final File testBenchmarkA2 = temporaryFolder
+        .resolve("testFolder")
+        .resolve("BenchmarkA")
+        .resolve("client2")
+        .resolve("20181121-111516-yardstick-output")
+        .toFile();
+    assertTrue(testBenchmarkA2.mkdirs());
+    final File testBenchmarkB1 = temporaryFolder
+        .resolve("testFolder")
+        .resolve("BenchmarkB")
+        .resolve("client1")
+        .resolve("20181121-111516-yardstick-output")
+        .toFile();
+    assertTrue(testBenchmarkB1.mkdirs());
+    final File testBenchmarkB2 = temporaryFolder
+        .resolve("testFolder")
+        .resolve("BenchmarkB")
+        .resolve("client2")
+        .resolve("20181121-111516-yardstick-output")
+        .toFile();
+    assertTrue(testBenchmarkB2.mkdirs());
+    assertTrue(testFolder.toPath().resolve("junkfolder").toFile().mkdirs());
+    assertTrue(new File(testFolder, "junkfile").createNewFile());
+    final File baseFolder = temporaryFolder.resolve("baseFolder").toFile();
+    assertTrue(baseFolder.mkdirs());
+    final File baseBenchmarkA1 = temporaryFolder
+        .resolve("baseFolder")
+        .resolve("BenchmarkA")
+        .resolve("client1")
+        .resolve("20181121-111516-yardstick-output")
+        .toFile();
+    assertTrue(baseBenchmarkA1.mkdirs());
+    final File baseBenchmarkA2 = temporaryFolder
+        .resolve("baseFolder")
+        .resolve("BenchmarkA")
+        .resolve("client2")
+        .resolve("20181121-111516-yardstick-output")
+        .toFile();
+    assertTrue(baseBenchmarkA2.mkdirs());
+    final File baseBenchmarkB1 = temporaryFolder
+        .resolve("baseFolder")
+        .resolve("BenchmarkB")
+        .resolve("client1")
+        .resolve("20181121-111516-yardstick-output")
+        .toFile();
+    assertTrue(baseBenchmarkB1.mkdirs());
+    final File baseBenchmarkB2 = temporaryFolder
+        .resolve("baseFolder")
+        .resolve("BenchmarkB")
+        .resolve("client2")
+        .resolve("20181121-111516-yardstick-output")
+        .toFile();
+    assertTrue(baseBenchmarkB2.mkdirs());
 
     populateThroughputCSV(testBenchmarkA1, new double[] {10, 15, 20, 25, 30}); // Avg 20
     populatePercentileCSV(testBenchmarkA1, new double[] {0, 0, 99, 1}); // 200
diff --git a/harness/src/test/java/org/apache/geode/perftest/infrastructure/local/LocalInfrastructureTest.java b/harness/src/test/java/org/apache/geode/perftest/infrastructure/local/LocalInfrastructureTest.java
index 9dc0427..735ca89 100644
--- a/harness/src/test/java/org/apache/geode/perftest/infrastructure/local/LocalInfrastructureTest.java
+++ b/harness/src/test/java/org/apache/geode/perftest/infrastructure/local/LocalInfrastructureTest.java
@@ -17,34 +17,38 @@
 
 package org.apache.geode.perftest.infrastructure.local;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.File;
 import java.io.IOException;
+import java.nio.file.Path;
 import java.util.Arrays;
 import java.util.concurrent.ExecutionException;
 
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.junitpioneer.jupiter.TempDirectory;
 
+@ExtendWith(TempDirectory.class)
 public class LocalInfrastructureTest {
-  @Rule
-  public TemporaryFolder temporaryFolder = new TemporaryFolder();
+
+  private Path temporaryFolder;
+
   private LocalInfrastructure infra;
   private LocalInfrastructure.LocalNode node;
 
-  @Before
-  public void createInfra() throws IOException {
+  @BeforeEach
+  public void createInfra(@TempDirectory.TempDir Path tempDir) throws IOException {
+    temporaryFolder = tempDir;
     infra = new LocalInfrastructure(1);
     node = (LocalInfrastructure.LocalNode) infra.getNodes().iterator().next();
   }
 
-  @After
+  @AfterEach
   public void deleteInfra() throws IOException, InterruptedException {
     infra.close();
   }
@@ -55,8 +59,7 @@ public void copyToNodesPutsFileOnNode() throws IOException, InterruptedException
 
     File nodedir = node.workingDir;
 
-    File someFile = temporaryFolder.newFile();
-
+    File someFile = temporaryFolder.toFile();
     File expectedDir = new File(nodedir, "lib");
     assertFalse(expectedDir.exists());
     infra.copyToNodes(Arrays.asList(someFile), node -> "lib", true);
@@ -90,7 +93,7 @@ public void copyFromNodeCopiesFileFromNode() throws IOException {
     File newFile = new File(node.workingDir, "someFile");
     newFile.createNewFile();
 
-    File destDirectory = temporaryFolder.newFolder();
+    File destDirectory = temporaryFolder.toFile();
     infra.copyFromNode(node, ".", destDirectory);
 
     assertTrue(new File(destDirectory, "someFile").exists());
diff --git a/harness/src/test/java/org/apache/geode/perftest/infrastructure/ssh/SshInfrastructureFactoryTest.java b/harness/src/test/java/org/apache/geode/perftest/infrastructure/ssh/SshInfrastructureFactoryTest.java
index 9c929a1..bade57d 100644
--- a/harness/src/test/java/org/apache/geode/perftest/infrastructure/ssh/SshInfrastructureFactoryTest.java
+++ b/harness/src/test/java/org/apache/geode/perftest/infrastructure/ssh/SshInfrastructureFactoryTest.java
@@ -18,7 +18,7 @@
 package org.apache.geode.perftest.infrastructure.ssh;
 
 import org.assertj.core.api.Assertions;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import org.apache.geode.perftest.infrastructure.Infrastructure;
 
diff --git a/harness/src/test/java/org/apache/geode/perftest/infrastructure/ssh/SshInfrastructureTest.java b/harness/src/test/java/org/apache/geode/perftest/infrastructure/ssh/SshInfrastructureTest.java
index b983c5b..be10276 100644
--- a/harness/src/test/java/org/apache/geode/perftest/infrastructure/ssh/SshInfrastructureTest.java
+++ b/harness/src/test/java/org/apache/geode/perftest/infrastructure/ssh/SshInfrastructureTest.java
@@ -16,33 +16,74 @@
  */
 package org.apache.geode.perftest.infrastructure.ssh;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junitpioneer.jupiter.TempDirectory.TempDir;
 
 import java.io.File;
 import java.io.IOException;
+import java.io.UncheckedIOException;
+import java.nio.file.Path;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.Set;
 import java.util.concurrent.ExecutionException;
 
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
+import org.apache.sshd.server.SshServer;
+import org.apache.sshd.server.command.Command;
+import org.apache.sshd.server.keyprovider.SimpleGeneratorHostKeyProvider;
+import org.apache.sshd.server.shell.ProcessShellCommandFactory;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.junitpioneer.jupiter.TempDirectory;
 
 import org.apache.geode.perftest.infrastructure.Infrastructure;
 
+@ExtendWith(TempDirectory.class)
 public class SshInfrastructureTest {
 
 
   private static final Set<String> HOSTS = Collections.singleton("localhost");
   private static final String USER = System.getProperty("user.name");
-  @Rule
-  public TemporaryFolder temporaryFolder = new TemporaryFolder();
+  Path temporaryFolder;
+  public SshServer server;
 
-  @Rule
-  public SshServerRule server = new SshServerRule();
+  @BeforeEach
+  void createTempFolder(@TempDir Path tempDir, @TempDir Path serverPath) throws IOException {
+    temporaryFolder = tempDir;
+    server = createServer(serverPath);
+  }
+
+  private SshServer createServer(Path serverPath) throws IOException {
+    SshServer sshd = SshServer.setUpDefaultServer();
+    sshd.setPort(0);
+    sshd.setHost("localhost");
+    sshd.setPublickeyAuthenticator((username, key, session) -> true);
+    sshd.setKeyPairProvider(
+        new SimpleGeneratorHostKeyProvider(serverPath.resolve("hostkey.ser")));
+    sshd.setCommandFactory(new SshInfrastructureTest.UnescapingCommandFactory());
+    sshd.start();
+    return sshd;
+  }
+
+  @AfterEach
+  void stopServer() {
+    try {
+      server.stop();
+    } catch (IOException e) {
+      throw new UncheckedIOException(e);
+    }
+  }
+
+  private class UnescapingCommandFactory extends ProcessShellCommandFactory {
+    @Override
+    public Command createCommand(String command) {
+      return super.createCommand(command.replace("'", ""));
+    }
+  }
 
   @Test
   public void canFindNodes() throws IOException {
@@ -57,8 +98,7 @@ public void canExecuteACommandOnNode()
     SshInfrastructure infra = new SshInfrastructure(HOSTS, USER, server.getPort());
     Infrastructure.Node node1 = infra.getNodes().iterator().next();
 
-    File folder = temporaryFolder.newFolder();
-    folder.mkdirs();
+    File folder = temporaryFolder.toFile();
     File expectedFile = new File(folder, "somefile.txt").getAbsoluteFile();
     int result = infra.onNode(node1, new String[] {"touch", expectedFile.getPath()});
 
@@ -70,12 +110,12 @@ public void canExecuteACommandOnNode()
   public void copyToNodesPutsFileOnNode() throws IOException, InterruptedException {
     SshInfrastructure infra = new SshInfrastructure(HOSTS, USER, server.getPort());
 
-    File someFile = temporaryFolder.newFile();
-    File targetFolder = new File(temporaryFolder.newFolder(), "dest");
+    File someFile = temporaryFolder.resolve("someFile.tmp").toFile();
+    assertTrue(someFile.createNewFile());
+    File targetFolder = temporaryFolder.resolve("dest").toFile();
 
     assertFalse(targetFolder.exists());
-
-    infra.copyToNodes(Arrays.asList(someFile), node -> targetFolder.getPath(), false);
+    infra.copyToNodes(Collections.singletonList(someFile), node -> targetFolder.getPath(), false);
 
     assertTrue(targetFolder.exists());
     assertTrue(new File(targetFolder, someFile.getName()).exists());
@@ -85,12 +125,12 @@ public void copyToNodesPutsFileOnNode() throws IOException, InterruptedException
   public void copyToNodesCleansDirectory() throws IOException, InterruptedException {
     SshInfrastructure infra = new SshInfrastructure(HOSTS, USER, server.getPort());
 
-    File someFile = temporaryFolder.newFile();
-    File targetFolder = new File(temporaryFolder.newFolder(), "dest");
-
-    targetFolder.mkdirs();
+    File someFile = temporaryFolder.resolve("someFile.tmp").toFile();
+    assertTrue(someFile.createNewFile());
+    File targetFolder = temporaryFolder.resolve("dest").toFile();
+    assertTrue(targetFolder.mkdirs());
     File fileToRemove = new File(targetFolder, "removethis");
-    fileToRemove.createNewFile();
+    assertTrue(fileToRemove.createNewFile());
     assertTrue(fileToRemove.exists());
 
     infra.copyToNodes(Arrays.asList(someFile), node -> targetFolder.getPath(), true);
@@ -111,8 +151,7 @@ public void canCopyFilesFromANode()
     infra.onNode(node1, new String[] {"touch", "/tmp/foo/file.txt"});
     infra.onNode(node1, new String[] {"touch", "/tmp/foo/file2.txt"});
 
-    File destDirectory = temporaryFolder.newFolder();
-
+    File destDirectory = temporaryFolder.toFile();
     infra.copyFromNode(node1, "/tmp/foo", destDirectory);
     assertTrue(new File(destDirectory, "foo/file.txt").exists());
     assertTrue(new File(destDirectory, "foo/file2.txt").exists());
diff --git a/harness/src/test/java/org/apache/geode/perftest/infrastructure/ssh/SshServerRule.java b/harness/src/test/java/org/apache/geode/perftest/infrastructure/ssh/SshServerRule.java
deleted file mode 100644
index 3f3e760..0000000
--- a/harness/src/test/java/org/apache/geode/perftest/infrastructure/ssh/SshServerRule.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geode.perftest.infrastructure.ssh;
-
-import java.io.IOException;
-import java.io.UncheckedIOException;
-import java.nio.file.Paths;
-
-import org.apache.sshd.server.SshServer;
-import org.apache.sshd.server.command.Command;
-import org.apache.sshd.server.keyprovider.SimpleGeneratorHostKeyProvider;
-import org.apache.sshd.server.shell.ProcessShellCommandFactory;
-import org.junit.rules.TemporaryFolder;
-
-/**
- * Rule to run an in process ssh server during a test
- *
- * This ssh server listens on localhost. It does actually run commands and create
- * files on the real filesystem. It accepts connections from any user.
- */
-public class SshServerRule extends TemporaryFolder {
-
-  private SshServer sshd;
-
-  @Override
-  protected void before() throws Throwable {
-    super.before();
-    sshd = SshServer.setUpDefaultServer();
-    sshd.setPort(0);
-    sshd.setHost("localhost");
-    sshd.setPublickeyAuthenticator((username, key, session) -> true);
-    sshd.setKeyPairProvider(
-        new SimpleGeneratorHostKeyProvider(Paths.get(newFolder().getPath(), "hostkey.ser")));
-    sshd.setCommandFactory(new UnescapingCommandFactory());
-    sshd.start();
-  }
-
-  public int getPort() {
-    return sshd.getPort();
-  }
-
-  @Override
-  protected void after() {
-    try {
-      sshd.stop();
-    } catch (IOException e) {
-      throw new UncheckedIOException(e);
-    }
-  }
-
-  private class UnescapingCommandFactory extends ProcessShellCommandFactory {
-    @Override
-    public Command createCommand(String command) {
-      return super.createCommand(command.replace("'", ""));
-    }
-  }
-}
diff --git a/harness/src/test/java/org/apache/geode/perftest/jvms/RemoteJVMFactoryIntegrationTest.java b/harness/src/test/java/org/apache/geode/perftest/jvms/RemoteJVMFactoryIntegrationTest.java
index 7e81910..8d1a91a 100644
--- a/harness/src/test/java/org/apache/geode/perftest/jvms/RemoteJVMFactoryIntegrationTest.java
+++ b/harness/src/test/java/org/apache/geode/perftest/jvms/RemoteJVMFactoryIntegrationTest.java
@@ -17,28 +17,37 @@
 
 package org.apache.geode.perftest.jvms;
 
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.File;
+import java.nio.file.Path;
 import java.util.Collections;
 import java.util.Map;
 
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.junitpioneer.jupiter.TempDirectory;
 
 import org.apache.geode.perftest.infrastructure.local.LocalInfrastructureFactory;
 
+@ExtendWith(TempDirectory.class)
 public class RemoteJVMFactoryIntegrationTest {
-  @Rule
-  public final TemporaryFolder temporaryFolder = new TemporaryFolder();
+
+
+  Path temporaryFolder;
+
+  @BeforeEach
+  void createTemporaryFolder(@TempDirectory.TempDir Path temporaryFolder) {
+    this.temporaryFolder = temporaryFolder;
+  }
 
   @Test
   public void canExecuteCodeOnWorker() throws Exception {
     RemoteJVMFactory remoteJvmFactory = new RemoteJVMFactory(new LocalInfrastructureFactory());
     Map<String, Integer> roles = Collections.singletonMap("worker", 1);
     try (RemoteJVMs jvms = remoteJvmFactory.launch(roles, Collections.emptyMap())) {
-      File tempFile = new File(temporaryFolder.newFolder(), "tmpfile").getAbsoluteFile();
+      File tempFile = temporaryFolder.resolve("tmpfile").toFile();
       jvms.execute(context -> {
         tempFile.createNewFile();
       }, "worker");
diff --git a/harness/src/test/java/org/apache/geode/perftest/jvms/RemoteJVMFactoryTest.java b/harness/src/test/java/org/apache/geode/perftest/jvms/RemoteJVMFactoryTest.java
index 3539c91..c1a106e 100644
--- a/harness/src/test/java/org/apache/geode/perftest/jvms/RemoteJVMFactoryTest.java
+++ b/harness/src/test/java/org/apache/geode/perftest/jvms/RemoteJVMFactoryTest.java
@@ -32,8 +32,8 @@
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import org.mockito.InOrder;
 
 import org.apache.geode.perftest.infrastructure.Infrastructure;
@@ -51,7 +51,7 @@
   private ControllerFactory controllerFactory;
   private Infrastructure infra;
 
-  @Before
+  @BeforeEach
   public void setUp() throws AlreadyBoundException, RemoteException {
     classPathCopier = mock(ClassPathCopier.class);
     jvmLauncher = mock(JVMLauncher.class);
diff --git a/harness/src/test/java/org/apache/geode/perftest/jvms/rmi/ChildJVMTest.java b/harness/src/test/java/org/apache/geode/perftest/jvms/rmi/ChildJVMTest.java
index 5fd04f3..9282f6f 100644
--- a/harness/src/test/java/org/apache/geode/perftest/jvms/rmi/ChildJVMTest.java
+++ b/harness/src/test/java/org/apache/geode/perftest/jvms/rmi/ChildJVMTest.java
@@ -20,7 +20,7 @@
 import static org.apache.geode.perftest.jvms.RemoteJVMFactory.OUTPUT_DIR;
 import static org.apache.geode.perftest.jvms.RemoteJVMFactory.RMI_HOST;
 import static org.apache.geode.perftest.jvms.RemoteJVMFactory.RMI_PORT_PROPERTY;
-import static org.junit.Assert.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.mockito.Matchers.any;
 import static org.mockito.Matchers.eq;
 import static org.mockito.Mockito.mock;
@@ -30,34 +30,35 @@
 
 import java.io.File;
 import java.io.IOException;
+import java.nio.file.Path;
 import java.rmi.NotBoundException;
 import java.rmi.RemoteException;
 
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.junitpioneer.jupiter.TempDirectory;
 
 import org.apache.geode.perftest.jdk.RMI;
 import org.apache.geode.perftest.jdk.SystemInterface;
 import org.apache.geode.perftest.jvms.RemoteJVMFactory;
 
+@ExtendWith(TempDirectory.class)
 public class ChildJVMTest {
 
-  @Rule
-  public TemporaryFolder temporaryFolder = new TemporaryFolder();
+
   private RMI rmi;
   private ChildJVM jvm;
   private SystemInterface system;
   private Controller controller;
   private File folder;
 
-  @Before
-  public void setUp() throws IOException, NotBoundException {
+  @BeforeEach
+  public void setUp(@TempDirectory.TempDir Path tempDir) throws IOException, NotBoundException {
     system = mock(SystemInterface.class);
     when(system.getProperty(RMI_HOST)).thenReturn("something");
     when(system.getProperty(RMI_PORT_PROPERTY)).thenReturn("0");
-    folder = temporaryFolder.newFolder();
+    folder = tempDir.toFile();
     when(system.getProperty(OUTPUT_DIR)).thenReturn(folder.getAbsolutePath());
     rmi = mock(RMI.class);
     jvm = new ChildJVM(rmi, system, 1);
diff --git a/harness/src/test/java/org/apache/geode/perftest/runner/SharedContextTest.java b/harness/src/test/java/org/apache/geode/perftest/runner/SharedContextTest.java
index bcdfbaf..c010702 100644
--- a/harness/src/test/java/org/apache/geode/perftest/runner/SharedContextTest.java
+++ b/harness/src/test/java/org/apache/geode/perftest/runner/SharedContextTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.geode.perftest.runner;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
@@ -29,7 +29,7 @@
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import org.apache.geode.perftest.infrastructure.Infrastructure;
 import org.apache.geode.perftest.jvms.JVMMapping;
diff --git a/harness/src/test/java/org/apache/geode/perftest/yardstick/YardstickTaskTest.java b/harness/src/test/java/org/apache/geode/perftest/yardstick/YardstickTaskTest.java
index d6b4a53..3a211d0 100644
--- a/harness/src/test/java/org/apache/geode/perftest/yardstick/YardstickTaskTest.java
+++ b/harness/src/test/java/org/apache/geode/perftest/yardstick/YardstickTaskTest.java
@@ -17,14 +17,16 @@
 
 package org.apache.geode.perftest.yardstick;
 
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.File;
 import java.nio.file.Files;
+import java.nio.file.Path;
 
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.junitpioneer.jupiter.TempDirectory;
 
 import org.apache.geode.perftest.Task;
 import org.apache.geode.perftest.TestContext;
@@ -33,10 +35,15 @@
 import org.apache.geode.perftest.runner.DefaultTestContext;
 import org.apache.geode.perftest.yardstick.hdrhistogram.HdrHistogramWriter;
 
+@ExtendWith(TempDirectory.class)
 public class YardstickTaskTest {
 
-  @Rule
-  public final TemporaryFolder folder = new TemporaryFolder();
+  public Path folder;
+
+  @BeforeEach
+  void createTempFolder(@TempDirectory.TempDir Path tempDir) {
+    this.folder = tempDir;
+  }
 
   @Test
   public void testExecuteBenchmark() throws Exception {
@@ -44,7 +51,7 @@ public void testExecuteBenchmark() throws Exception {
     WorkloadConfig workloadConfig = new WorkloadConfig();
     workloadConfig.threads(1);
     Task task = new YardstickTask(benchmark, workloadConfig);
-    File outputDir = folder.newFolder();
+    File outputDir = folder.toFile();
     TestContext context = new DefaultTestContext(null, outputDir, 1);
     task.run(context);
 
diff --git a/harness/src/test/java/org/apache/geode/perftest/yardstick/analysis/YardstickPercentileSensorParserTest.java b/harness/src/test/java/org/apache/geode/perftest/yardstick/analysis/YardstickPercentileSensorParserTest.java
index 76e3e65..1d12eae 100644
--- a/harness/src/test/java/org/apache/geode/perftest/yardstick/analysis/YardstickPercentileSensorParserTest.java
+++ b/harness/src/test/java/org/apache/geode/perftest/yardstick/analysis/YardstickPercentileSensorParserTest.java
@@ -14,24 +14,36 @@
  */
 package org.apache.geode.perftest.yardstick.analysis;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
 import java.io.BufferedWriter;
 import java.io.File;
 import java.io.FileWriter;
 import java.io.IOException;
+import java.nio.file.Path;
 
-import org.junit.Assert;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
-
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.junitpioneer.jupiter.TempDirectory;
 
+@ExtendWith(TempDirectory.class)
 public class YardstickPercentileSensorParserTest {
-  @Rule
-  public TemporaryFolder temporaryFolder = new TemporaryFolder();
+
+  private Path temporaryFolder;
+
+  @BeforeEach
+  void createTemporaryFolder(@TempDirectory.TempDir Path tempDir) {
+    temporaryFolder = tempDir;
+  }
 
   @Test
   public void parsesInputFile() throws IOException {
-    final File testFolder = temporaryFolder.newFolder("testFolder");
+    final File testFolder = temporaryFolder.resolve("testFolder").toFile();
+    assertTrue(testFolder.mkdirs());
     generateSimpleTestFile(testFolder);
 
     YardstickPercentileSensorParser parser = new YardstickPercentileSensorParser();
@@ -40,26 +52,28 @@ public void parsesInputFile() throws IOException {
 
   @Test
   public void parsesInputFileAndFindsAlignedPercentiles() throws IOException {
-    final File testFolder = temporaryFolder.newFolder("testFolder");
+    final File testFolder = temporaryFolder.resolve("testFolder").toFile();
+    assertTrue(testFolder.mkdirs());
     generateSimpleTestFile(testFolder);
 
     YardstickPercentileSensorParser parser = new YardstickPercentileSensorParser();
     parser.parseResults(testFolder);
-    Assert.assertEquals(400, parser.getPercentile(30), 0.01);
-    Assert.assertEquals(800, parser.getPercentile(95), 0.01);
-    Assert.assertEquals(900, parser.getPercentile(100), 0.01);
+    assertEquals(400, parser.getPercentile(30), 0.01);
+    assertEquals(800, parser.getPercentile(95), 0.01);
+    assertEquals(900, parser.getPercentile(100), 0.01);
   }
 
   @Test
   public void parsesInputFileAndFindsUnalignedPercentiles() throws IOException {
-    final File testFolder = temporaryFolder.newFolder("testFolder");
+    final File testFolder = temporaryFolder.resolve("testFolder").toFile();
+    assertTrue(testFolder.mkdirs());
     generateSimpleTestFile(testFolder);
 
     YardstickPercentileSensorParser parser = new YardstickPercentileSensorParser();
     parser.parseResults(testFolder);
-    Assert.assertEquals(450, parser.getPercentile(40), 0.01);
-    Assert.assertEquals(633.333, parser.getPercentile(75), 0.01);
-    Assert.assertEquals(720, parser.getPercentile(87), 0.01);
+    assertEquals(450, parser.getPercentile(40), 0.01);
+    assertEquals(633.333, parser.getPercentile(75), 0.01);
+    assertEquals(720, parser.getPercentile(87), 0.01);
   }
 
   private void generateSimpleTestFile(File testFolder) throws IOException {
@@ -90,8 +104,10 @@ private void generateSimpleTestFile(File testFolder) throws IOException {
 
   @Test
   public void percentileSearchNormalizesInput() throws IOException {
-    final File testFolder = temporaryFolder.newFolder("testFolder");
+    final File testFolder = temporaryFolder.resolve("testFolder").toFile();
+    assertTrue(testFolder.mkdirs());
     final File testFile = new File(testFolder, YardstickPercentileSensorParser.sensorOutputFile);
+    assertTrue(testFile.createNewFile());
     BufferedWriter output = new BufferedWriter(new FileWriter(testFile));
     output.write("0,0.00");
     output.newLine();
@@ -106,21 +122,24 @@ public void percentileSearchNormalizesInput() throws IOException {
 
     YardstickPercentileSensorParser parser = new YardstickPercentileSensorParser();
     parser.parseResults(testFolder);
-    Assert.assertEquals(500, parser.getPercentile(100), 0.001);
-    Assert.assertEquals(475, parser.getPercentile(90), 0.001);
+    assertEquals(500, parser.getPercentile(100), 0.001);
+    assertEquals(475, parser.getPercentile(90), 0.001);
   }
 
-  @Test(expected = IOException.class)
+  @Test
   public void throwsExceptionOnMissingFile() throws IOException {
-    final File testFolder = temporaryFolder.newFolder("testFolder");
+    final File testFolder = temporaryFolder.resolve("testFolder").toFile();
+    assertTrue(testFolder.mkdirs());
     YardstickPercentileSensorParser parser = new YardstickPercentileSensorParser();
-    parser.parseResults(testFolder);
+    Assertions.assertThrows(IOException.class, () -> parser.parseResults(testFolder));
   }
 
-  @Test(expected = IOException.class)
+  @Test
   public void throwsExceptionOnBadInput() throws IOException {
-    final File testFolder = temporaryFolder.newFolder("testFolder");
+    final File testFolder = temporaryFolder.resolve("testFolder").toFile();
+    assertTrue(testFolder.mkdirs());
     final File testFile = new File(testFolder, YardstickPercentileSensorParser.sensorOutputFile);
+    assertTrue(testFile.createNewFile());
     BufferedWriter output = new BufferedWriter(new FileWriter(testFile));
     output.write("0,0.00");
     output.newLine();
@@ -136,13 +155,15 @@ public void throwsExceptionOnBadInput() throws IOException {
     output.close();
 
     YardstickPercentileSensorParser parser = new YardstickPercentileSensorParser();
-    parser.parseResults(testFolder);
+    assertThrows(IOException.class, () -> parser.parseResults(testFolder));
   }
 
   @Test
   public void ignoreYardstickCommentAndMetadataLines() throws IOException {
-    final File testFolder = temporaryFolder.newFolder("testFolder");
+    final File testFolder = temporaryFolder.resolve("testFolder").toFile();
+    assertTrue(testFolder.mkdirs());
     final File testFile = new File(testFolder, YardstickPercentileSensorParser.sensorOutputFile);
+    assertTrue(testFile.createNewFile());
     BufferedWriter output = new BufferedWriter(new FileWriter(testFile));
     output.write("0,0.40");
     output.newLine();
@@ -160,7 +181,7 @@ public void ignoreYardstickCommentAndMetadataLines() throws IOException {
 
     YardstickPercentileSensorParser parser = new YardstickPercentileSensorParser();
     parser.parseResults(testFolder);
-    Assert.assertEquals(100, parser.getPercentile(40), 0.01);
+    assertEquals(100, parser.getPercentile(40), 0.01);
   }
 
 }
diff --git a/harness/src/test/java/org/apache/geode/perftest/yardstick/analysis/YardstickThroughputSensorParserTest.java b/harness/src/test/java/org/apache/geode/perftest/yardstick/analysis/YardstickThroughputSensorParserTest.java
index c5d2652..b8e6285 100644
--- a/harness/src/test/java/org/apache/geode/perftest/yardstick/analysis/YardstickThroughputSensorParserTest.java
+++ b/harness/src/test/java/org/apache/geode/perftest/yardstick/analysis/YardstickThroughputSensorParserTest.java
@@ -15,25 +15,39 @@
 
 package org.apache.geode.perftest.yardstick.analysis;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
 import java.io.BufferedWriter;
 import java.io.File;
 import java.io.FileWriter;
 import java.io.IOException;
+import java.nio.file.Path;
 
-import org.junit.Assert;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.junitpioneer.jupiter.TempDirectory;
 
 
+@ExtendWith(TempDirectory.class)
 public class YardstickThroughputSensorParserTest {
-  @Rule
-  public TemporaryFolder temporaryFolder = new TemporaryFolder();
+
+  public Path temporaryFolder;
+
+  @BeforeEach
+  void createTempFolder(@TempDirectory.TempDir Path tempDir) {
+    this.temporaryFolder = tempDir;
+  }
+
 
   @Test
   public void parsesInputFile() throws IOException {
-    final File testFolder = temporaryFolder.newFolder("testFolder");
+    final File testFolder = temporaryFolder.resolve("testFolder").toFile();
+    assertTrue(testFolder.mkdir());
     final File testFile = new File(testFolder, YardstickThroughputSensorParser.sensorOutputFile);
+    assertTrue(testFile.createNewFile());
     BufferedWriter output = new BufferedWriter(new FileWriter(testFile));
     output.write("1542151468,42906.00,371126.31");
     output.newLine();
@@ -47,20 +61,23 @@ public void parsesInputFile() throws IOException {
 
     YardstickThroughputSensorParser parser = new YardstickThroughputSensorParser();
     parser.parseResults(testFolder);
-    Assert.assertEquals(45674.5, parser.getAverageThroughput(), .01);
+    assertEquals(45674.5, parser.getAverageThroughput(), .01);
   }
 
-  @Test(expected = IOException.class)
+  @Test
   public void throwsExceptionOnMissingFile() throws IOException {
-    final File testFolder = temporaryFolder.newFolder("testFolder");
+    final File testFolder = temporaryFolder.resolve("testFolder").toFile();
+    assertTrue(testFolder.mkdirs());
     YardstickThroughputSensorParser parser = new YardstickThroughputSensorParser();
-    parser.parseResults(testFolder);
+    assertThrows(IOException.class, () -> parser.parseResults(testFolder));
   }
 
-  @Test(expected = IOException.class)
+  @Test
   public void throwsExceptionOnBadInput() throws IOException {
-    final File testFolder = temporaryFolder.newFolder("testFolder");
+    final File testFolder = temporaryFolder.resolve("testFolder").toFile();
+    assertTrue(testFolder.mkdirs());
     final File testFile = new File(testFolder, YardstickThroughputSensorParser.sensorOutputFile);
+    assertTrue(testFile.createNewFile());
     BufferedWriter output = new BufferedWriter(new FileWriter(testFile));
     output.write("1542151468,42906.00,371126.31");
     output.newLine();
@@ -73,13 +90,15 @@ public void throwsExceptionOnBadInput() throws IOException {
     output.close();
 
     YardstickThroughputSensorParser parser = new YardstickThroughputSensorParser();
-    parser.parseResults(testFolder);
+    assertThrows(IOException.class, () -> parser.parseResults(testFolder));
   }
 
   @Test
   public void ignoreYardstickCommentAndMetadataLines() throws IOException {
-    final File testFolder = temporaryFolder.newFolder("testFolder");
+    final File testFolder = temporaryFolder.resolve("testFolder").toFile();
+    assertTrue(testFolder.mkdirs());
     final File testFile = new File(testFolder, YardstickThroughputSensorParser.sensorOutputFile);
+    assertTrue(testFile.createNewFile());
     BufferedWriter output = new BufferedWriter(new FileWriter(testFile));
     output.write("--This is a comment");
     output.newLine();
@@ -93,6 +112,6 @@ public void ignoreYardstickCommentAndMetadataLines() throws IOException {
 
     YardstickThroughputSensorParser parser = new YardstickThroughputSensorParser();
     parser.parseResults(testFolder);
-    Assert.assertEquals(42906f, parser.getAverageThroughput(), .01);
+    assertEquals(42906f, parser.getAverageThroughput(), .01);
   }
 }
diff --git a/harness/src/test/java/org/apache/geode/perftest/yardstick/hdrhistogram/HdrHistogramProbeTest.java b/harness/src/test/java/org/apache/geode/perftest/yardstick/hdrhistogram/HdrHistogramProbeTest.java
index a3b133c..80ba7f3 100644
--- a/harness/src/test/java/org/apache/geode/perftest/yardstick/hdrhistogram/HdrHistogramProbeTest.java
+++ b/harness/src/test/java/org/apache/geode/perftest/yardstick/hdrhistogram/HdrHistogramProbeTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.geode.perftest.yardstick.hdrhistogram;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
@@ -26,8 +26,8 @@
 
 import org.HdrHistogram.Histogram;
 import org.assertj.core.api.Assertions;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import org.yardstickframework.BenchmarkProbePoint;
 
 public class HdrHistogramProbeTest {
@@ -36,7 +36,7 @@
   private Clock clock;
   private Consumer consumer;
 
-  @Before
+  @BeforeEach
   public void setUp() {
     clock = mock(Clock.class);
     consumer = mock(Consumer.class);


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services