SLIDER-352 more testing of windows
Project: http://git-wip-us.apache.org/repos/asf/incubator-slider/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-slider/commit/53457d98 Tree: http://git-wip-us.apache.org/repos/asf/incubator-slider/tree/53457d98 Diff: http://git-wip-us.apache.org/repos/asf/incubator-slider/diff/53457d98 Branch: refs/heads/develop Commit: 53457d98d480e3b4134175c09b4927d0c1dfb4ef Parents: db2d298 Author: Steve Loughran <ste...@apache.org> Authored: Fri Aug 22 16:20:26 2014 +0100 Committer: Steve Loughran <ste...@apache.org> Committed: Fri Aug 22 16:20:26 2014 +0100 ---------------------------------------------------------------------- .../apache/slider/providers/agent/AgentUtils.java | 9 +++++++-- .../slider/common/tools/TestWindowsSupport.groovy | 15 +++++++++++++-- 2 files changed, 20 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/53457d98/slider-core/src/main/java/org/apache/slider/providers/agent/AgentUtils.java ---------------------------------------------------------------------- diff --git a/slider-core/src/main/java/org/apache/slider/providers/agent/AgentUtils.java b/slider-core/src/main/java/org/apache/slider/providers/agent/AgentUtils.java index f296a95..f329756 100644 --- a/slider-core/src/main/java/org/apache/slider/providers/agent/AgentUtils.java +++ b/slider-core/src/main/java/org/apache/slider/providers/agent/AgentUtils.java @@ -16,6 +16,7 @@ */ package org.apache.slider.providers.agent; +import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.slider.common.tools.SliderFileSystem; import org.apache.slider.common.tools.SliderUtils; @@ -24,6 +25,7 @@ import org.apache.slider.providers.agent.application.metadata.MetainfoParser; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; @@ -36,11 +38,14 @@ public class AgentUtils { static Metainfo getApplicationMetainfo(SliderFileSystem fileSystem, String appDef) throws IOException { log.info("Reading metainfo at {}", appDef); + FileSystem fs = fileSystem.getFileSystem(); + Path appPath = new Path(appDef); InputStream metainfoStream = SliderUtils.getApplicationResourceInputStream( - fileSystem.getFileSystem(), new Path(appDef), "metainfo.xml"); + fs, appPath, "metainfo.xml"); if (metainfoStream == null) { log.error("metainfo.xml is unavailable at {}.", appDef); - throw new IOException("metainfo.xml is required in app package."); + throw new FileNotFoundException("metainfo.xml is required in app package. " + + appPath); } Metainfo metainfo = new MetainfoParser().parse(metainfoStream); http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/53457d98/slider-core/src/test/groovy/org/apache/slider/common/tools/TestWindowsSupport.groovy ---------------------------------------------------------------------- diff --git a/slider-core/src/test/groovy/org/apache/slider/common/tools/TestWindowsSupport.groovy b/slider-core/src/test/groovy/org/apache/slider/common/tools/TestWindowsSupport.groovy index 8387237..2d74760 100644 --- a/slider-core/src/test/groovy/org/apache/slider/common/tools/TestWindowsSupport.groovy +++ b/slider-core/src/test/groovy/org/apache/slider/common/tools/TestWindowsSupport.groovy @@ -22,6 +22,7 @@ import groovy.transform.CompileStatic import groovy.util.logging.Slf4j import org.apache.hadoop.conf.Configuration import org.apache.hadoop.fs.ChecksumFileSystem +import org.apache.hadoop.fs.FSDataInputStream import org.apache.hadoop.fs.Path import org.apache.hadoop.fs.FileSystem as HadoopFS import org.apache.hadoop.util.Shell @@ -75,7 +76,17 @@ class TestWindowsSupport extends SliderTestUtils { def localfs = HadoopFS.get(uri, conf) assert localfs instanceof ChecksumFileSystem - def stat = localfs.getFileStatus(path) - + try { + def stat = localfs.getFileStatus(path) + fail("expected an exception, got $stat") + } catch (FileNotFoundException fnfe) { + // expected + } + + try { + FSDataInputStream appStream = localfs.open(path); + } catch (FileNotFoundException fnfe) { + // expected + } } }