protected Dictionary <string, byte[]> LoadPackage(string path) { if (path.EndsWith(".tar.lzma")) { using (var lzma = new FileStream(Path.Combine(m_TestLocation, path), FileMode.Open, FileAccess.Read, FileShare.None)) { using (var decompress = new MemoryStream()) { LZMA.LzmaHelper.Decompress(lzma, decompress); decompress.Seek(0, SeekOrigin.Begin); var archive = new tar_cs.TarReader(decompress); var deduplicator = new Reduplicator(); return(deduplicator.UnpackTarToMemory(archive)); } } } else if (path.EndsWith(".tar.gz")) { using (var file = new FileStream(Path.Combine(m_TestLocation, path), FileMode.Open, FileAccess.Read, FileShare.None)) { using (var gzip = new GZipStream(file, CompressionMode.Decompress)) { var archive = new tar_cs.TarReader(gzip); var deduplicator = new Reduplicator(); return(deduplicator.UnpackTarToMemory(archive)); } } } else { throw new NotSupportedException(); } }
protected Dictionary<string, byte[]> LoadPackage(string path) { var results = new Dictionary<string, byte[]>(); if (path.EndsWith(".tar.lzma")) { using (var lzma = new FileStream(Path.Combine(m_TestLocation, path), FileMode.Open, FileAccess.Read, FileShare.None)) { using (var decompress = new MemoryStream()) { LZMA.LzmaHelper.Decompress(lzma, decompress); decompress.Seek(0, SeekOrigin.Begin); var archive = new tar_cs.TarReader(decompress); var deduplicator = new Reduplicator(); return deduplicator.UnpackTarToMemory(archive); } } } else if (path.EndsWith(".tar.gz")) { using (var file = new FileStream(Path.Combine(m_TestLocation, path), FileMode.Open, FileAccess.Read, FileShare.None)) { using (var gzip = new GZipStream(file, CompressionMode.Decompress)) { var archive = new tar_cs.TarReader(gzip); var deduplicator = new Reduplicator(); return deduplicator.UnpackTarToMemory(archive); } } } else { throw new NotSupportedException(); } return results; }