public virtual void TestFileStatusPipeFile()
        {
            RawLocalFileSystem origFs = new RawLocalFileSystem();
            RawLocalFileSystem fs     = Org.Mockito.Mockito.Spy(origFs);
            Configuration      conf   = Org.Mockito.Mockito.Mock <Configuration>();

            fs.SetConf(conf);
            Whitebox.SetInternalState(fs, "useDeprecatedFileStatus", false);
            Path     path = new Path("/foo");
            FilePath pipe = Org.Mockito.Mockito.Mock <FilePath>();

            Org.Mockito.Mockito.When(pipe.IsFile()).ThenReturn(false);
            Org.Mockito.Mockito.When(pipe.IsDirectory()).ThenReturn(false);
            Org.Mockito.Mockito.When(pipe.Exists()).ThenReturn(true);
            FileStatus stat = Org.Mockito.Mockito.Mock <FileStatus>();

            Org.Mockito.Mockito.DoReturn(pipe).When(fs).PathToFile(path);
            Org.Mockito.Mockito.DoReturn(stat).When(fs).GetFileStatus(path);
            FileStatus[] stats = fs.ListStatus(path);
            Assert.True(stats != null && stats.Length == 1 && stats[0] == stat
                        );
        }
Example #2
0
            /// <exception cref="System.IO.IOException"/>
            private LocalFSFileOutputStream(RawLocalFileSystem _enclosing, Path f, bool append
                                            , FsPermission permission)
            {
                this._enclosing = _enclosing;
                FilePath file = this._enclosing.PathToFile(f);

                if (permission == null)
                {
                    this.fos = new FileOutputStream(file, append);
                }
                else
                {
                    if (Shell.Windows && NativeIO.IsAvailable())
                    {
                        this.fos = NativeIO.Windows.CreateFileOutputStreamWithMode(file, append, permission
                                                                                   .ToShort());
                    }
                    else
                    {
                        this.fos = new FileOutputStream(file, append);
                        bool success = false;
                        try
                        {
                            this._enclosing.SetPermission(f, permission);
                            success = true;
                        }
                        finally
                        {
                            if (!success)
                            {
                                IOUtils.Cleanup(FileSystem.Log, this.fos);
                            }
                        }
                    }
                }
            }
 static TestSymlinkLocalFS()
 {
     // Workaround for HADOOP-9652
     RawLocalFileSystem.UseStatIfAvailable();
 }
Example #4
0
 /// <exception cref="System.IO.IOException"/>
 public LocalFSFileInputStream(RawLocalFileSystem _enclosing, Path f)
 {
     this._enclosing = _enclosing;
     this.fis        = new FileInputStream(this._enclosing.PathToFile(f));
 }