/// <exception cref="System.IO.IOException"/> public static void CheckFileStatus(FileSystem aFs, string path, FileSystemTestHelper.FileType expectedType) { FileStatus s = aFs.GetFileStatus(new Path(path)); NUnit.Framework.Assert.IsNotNull(s); if (expectedType == FileSystemTestHelper.FileType.isDir) { Assert.True(s.IsDirectory()); } else { if (expectedType == FileSystemTestHelper.FileType.isFile) { Assert.True(s.IsFile()); } else { if (expectedType == FileSystemTestHelper.FileType.isSymlink) { Assert.True(s.IsSymlink()); } } } Assert.Equal(aFs.MakeQualified(new Path(path)), s.GetPath()); }
/// <exception cref="System.IO.IOException"/> private void ListSubtree(FileStatus rootStatus, SequenceFile.Writer writer) { Path rootFile = rootStatus.GetPath(); if (rootStatus.IsFile()) { nrFiles++; // For a regular file generate <fName,offset> pairs long blockSize = fs.GetDefaultBlockSize(rootFile); long fileLength = rootStatus.GetLen(); for (long offset = 0; offset < fileLength; offset += blockSize) { writer.Append(new Text(rootFile.ToString()), new LongWritable(offset)); } return; } FileStatus[] children = null; try { children = fs.ListStatus(rootFile); } catch (FileNotFoundException) { throw new IOException("Could not get listing for " + rootFile); } for (int i = 0; i < children.Length; i++) { ListSubtree(children[i], writer); } }
/// <exception cref="System.IO.IOException"/> public override void CheckFileLinkStatus(string path, FSTestWrapper.FileType expectedType ) { FileStatus s = fs.GetFileLinkStatus(new Path(path)); NUnit.Framework.Assert.IsNotNull(s); if (expectedType == FSTestWrapper.FileType.isDir) { Assert.True(s.IsDirectory()); } else { if (expectedType == FSTestWrapper.FileType.isFile) { Assert.True(s.IsFile()); } else { if (expectedType == FSTestWrapper.FileType.isSymlink) { Assert.True(s.IsSymlink()); } } } Assert.Equal(fs.MakeQualified(new Path(path)), s.GetPath()); }