This is an automated email from the ASF dual-hosted git repository.

mreutegg pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git


The following commit(s) were added to refs/heads/trunk by this push:
     new eaea605  OAK-9484: PersistentRedisCacheTest fails when noexec is set 
on temp folder
     new 3d6fceb  Merge pull request #313 from mreutegg/OAK-9484
eaea605 is described below

commit eaea60561e6cd8517558bbaa13aaeed30165e0a4
Author: Marcel Reutegger <[email protected]>
AuthorDate: Fri Jul 2 16:15:22 2021 +0200

    OAK-9484: PersistentRedisCacheTest fails when noexec is set on temp folder
    
    Copy redis executable to target folder and run from there
---
 .../persistentcache/PersistentRedisCacheTest.java  | 23 ++++++++++++++++------
 1 file changed, 17 insertions(+), 6 deletions(-)

diff --git 
a/oak-segment-remote/src/test/java/org/apache/jackrabbit/oak/segment/remote/persistentcache/PersistentRedisCacheTest.java
 
b/oak-segment-remote/src/test/java/org/apache/jackrabbit/oak/segment/remote/persistentcache/PersistentRedisCacheTest.java
index 74a706d..bdf1a1d 100644
--- 
a/oak-segment-remote/src/test/java/org/apache/jackrabbit/oak/segment/remote/persistentcache/PersistentRedisCacheTest.java
+++ 
b/oak-segment-remote/src/test/java/org/apache/jackrabbit/oak/segment/remote/persistentcache/PersistentRedisCacheTest.java
@@ -22,19 +22,25 @@ import 
org.apache.jackrabbit.oak.segment.spi.monitor.IOMonitorAdapter;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
-import org.mockito.Mockito;
+
+import redis.embedded.RedisExecProvider;
 import redis.embedded.RedisServer;
 
-import java.io.IOException;
+import java.io.File;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.StandardCopyOption;
 import java.util.UUID;
 
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.anyLong;
 import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
 
 public class PersistentRedisCacheTest extends AbstractPersistentCacheTest {
 
@@ -43,10 +49,15 @@ public class PersistentRedisCacheTest extends 
AbstractPersistentCacheTest {
 
     @Before
     public void setUp() throws Exception {
-        redisServer = RedisServer.builder().build();
+        Path redisTempExecutable = 
RedisExecProvider.defaultProvider().get().toPath();
+        Path redisTargetExecutable = new File("target", 
redisTempExecutable.getFileName().toString()).toPath();
+        Files.copy(redisTempExecutable, redisTargetExecutable, 
StandardCopyOption.REPLACE_EXISTING);
+        RedisExecProvider execProvider = mock(RedisExecProvider.class);
+        when(execProvider.get()).thenReturn(redisTargetExecutable.toFile());
+        redisServer = 
RedisServer.builder().redisExecProvider(execProvider).build();
         redisServer.start();
         int port = redisServer.ports().get(0);
-        ioMonitorAdapter = Mockito.mock(IOMonitorAdapter.class);
+        ioMonitorAdapter = mock(IOMonitorAdapter.class);
 
         persistentCache = new PersistentRedisCache(
                 "localhost",
@@ -63,12 +74,12 @@ public class PersistentRedisCacheTest extends 
AbstractPersistentCacheTest {
     }
 
     @After
-    public void tearDown() throws Exception {
+    public void tearDown() {
         redisServer.stop();
     }
 
     @Test
-    public void testIOMonitor() throws IOException, InterruptedException {
+    public void testIOMonitor() throws InterruptedException {
 
         UUID segmentUUID = UUID.randomUUID();
         long msb = segmentUUID.getMostSignificantBits();

Reply via email to