diff options
Diffstat (limited to 'testutil')
-rw-r--r-- | testutil/pom.xml | 5 | ||||
-rw-r--r-- | testutil/src/main/java/com/yahoo/vespa/test/file/TestFileSystem.java | 24 |
2 files changed, 29 insertions, 0 deletions
diff --git a/testutil/pom.xml b/testutil/pom.xml index 00f606860a4..491c144fdb0 100644 --- a/testutil/pom.xml +++ b/testutil/pom.xml @@ -46,6 +46,11 @@ <artifactId>junit</artifactId> <scope>compile</scope> </dependency> + <dependency> + <groupId>com.google.jimfs</groupId> + <artifactId>jimfs</artifactId> + <scope>compile</scope> + </dependency> </dependencies> <build> <plugins> diff --git a/testutil/src/main/java/com/yahoo/vespa/test/file/TestFileSystem.java b/testutil/src/main/java/com/yahoo/vespa/test/file/TestFileSystem.java new file mode 100644 index 00000000000..751825b0c2a --- /dev/null +++ b/testutil/src/main/java/com/yahoo/vespa/test/file/TestFileSystem.java @@ -0,0 +1,24 @@ +// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +package com.yahoo.vespa.test.file; + +import com.google.common.jimfs.Configuration; +import com.google.common.jimfs.Feature; +import com.google.common.jimfs.Jimfs; +import com.google.common.jimfs.PathType; + +import java.nio.file.FileSystem; + +public class TestFileSystem { + public static FileSystem create() { + // This configuration is based on Configuration.unix(), except: + // - Use "posix" attribute view which is necessary for permissions, owner, and group. + Configuration configuration = Configuration.builder(PathType.unix()) + .setRoots("/") + .setWorkingDirectory("/work") + .setAttributeViews("posix") + .setSupportedFeatures(Feature.LINKS, Feature.SYMBOLIC_LINKS, Feature.SECURE_DIRECTORY_STREAM, Feature.FILE_CHANNEL) + .build(); + return Jimfs.newFileSystem(configuration); + } +} |