@@ -16,12 +16,10 @@ import TSCclibc // for SPM_posix_spawn_file_actions_addchdir_np_supported
1616import TSCTestSupport
1717import XCTest
1818
19- final class MultiFormatArchiverTests : XCTestCase {
19+ final class UniversalArchiverTests : XCTestCase {
2020 func testSuccess( ) throws {
2121 try testWithTemporaryDirectory { tmpdir in
22- let archiver = MultiFormatArchiver (
23- [ TarArchiver ( fileSystem: localFileSystem) , ZipArchiver ( fileSystem: localFileSystem) ]
24- )
22+ let archiver = UniversalArchiver ( localFileSystem)
2523 let inputArchivePath = AbsolutePath ( path: #file) . parentDirectory
2624 . appending ( components: " Inputs " , " archive.tar.gz " )
2725 let tarDestination = tmpdir. appending ( " tar " )
@@ -42,9 +40,7 @@ final class MultiFormatArchiverTests: XCTestCase {
4240
4341 func testArchiveDoesntExist( ) {
4442 let fileSystem = InMemoryFileSystem ( )
45- let archiver = MultiFormatArchiver (
46- [ TarArchiver ( fileSystem: fileSystem) , ZipArchiver ( fileSystem: fileSystem) ]
47- )
43+ let archiver = UniversalArchiver ( fileSystem)
4844 let archive = AbsolutePath ( " /archive.tar.gz " )
4945 XCTAssertThrowsError ( try archiver. extract ( from: archive, to: " / " ) ) { error in
5046 XCTAssertEqual ( error as? FileSystemError , FileSystemError ( . noEntry, archive) )
@@ -53,9 +49,7 @@ final class MultiFormatArchiverTests: XCTestCase {
5349
5450 func testDestinationDoesntExist( ) throws {
5551 let fileSystem = InMemoryFileSystem ( emptyFiles: " /archive.tar.gz " )
56- let archiver = MultiFormatArchiver (
57- [ TarArchiver ( fileSystem: fileSystem) , ZipArchiver ( fileSystem: fileSystem) ]
58- )
52+ let archiver = UniversalArchiver ( fileSystem)
5953 let destination = AbsolutePath ( " /destination " )
6054 XCTAssertThrowsError ( try archiver. extract ( from: " /archive.tar.gz " , to: destination) ) { error in
6155 XCTAssertEqual ( error as? FileSystemError , FileSystemError ( . notDirectory, destination) )
@@ -64,9 +58,7 @@ final class MultiFormatArchiverTests: XCTestCase {
6458
6559 func testDestinationIsFile( ) throws {
6660 let fileSystem = InMemoryFileSystem ( emptyFiles: " /archive.tar.gz " , " /destination " )
67- let archiver = MultiFormatArchiver (
68- [ TarArchiver ( fileSystem: fileSystem) , ZipArchiver ( fileSystem: fileSystem) ]
69- )
61+ let archiver = UniversalArchiver ( fileSystem)
7062 let destination = AbsolutePath ( " /destination " )
7163 XCTAssertThrowsError ( try archiver. extract ( from: " /archive.tar.gz " , to: destination) ) { error in
7264 XCTAssertEqual ( error as? FileSystemError , FileSystemError ( . notDirectory, destination) )
@@ -75,9 +67,7 @@ final class MultiFormatArchiverTests: XCTestCase {
7567
7668 func testInvalidArchive( ) throws {
7769 try testWithTemporaryDirectory { tmpdir in
78- let archiver = MultiFormatArchiver (
79- [ TarArchiver ( fileSystem: localFileSystem) , ZipArchiver ( fileSystem: localFileSystem) ]
80- )
70+ let archiver = UniversalArchiver ( localFileSystem)
8171 var inputArchivePath = AbsolutePath ( path: #file) . parentDirectory
8272 . appending ( components: " Inputs " , " invalid_archive.tar.gz " )
8373 XCTAssertThrowsError ( try archiver. extract ( from: inputArchivePath, to: tmpdir) ) { error in
@@ -103,27 +93,21 @@ final class MultiFormatArchiverTests: XCTestCase {
10393 func testValidation( ) throws {
10494 // valid
10595 try testWithTemporaryDirectory { _ in
106- let archiver = MultiFormatArchiver (
107- [ TarArchiver ( fileSystem: localFileSystem) , ZipArchiver ( fileSystem: localFileSystem) ]
108- )
96+ let archiver = UniversalArchiver ( localFileSystem)
10997 let path = AbsolutePath ( path: #file) . parentDirectory
11098 . appending ( components: " Inputs " , " archive.tar.gz " )
11199 XCTAssertTrue ( try archiver. validate ( path: path) )
112100 }
113101 // invalid
114102 try testWithTemporaryDirectory { _ in
115- let archiver = MultiFormatArchiver (
116- [ TarArchiver ( fileSystem: localFileSystem) , ZipArchiver ( fileSystem: localFileSystem) ]
117- )
103+ let archiver = UniversalArchiver ( localFileSystem)
118104 let path = AbsolutePath ( path: #file) . parentDirectory
119105 . appending ( components: " Inputs " , " invalid_archive.tar.gz " )
120106 XCTAssertFalse ( try archiver. validate ( path: path) )
121107 }
122108 // error
123109 try testWithTemporaryDirectory { _ in
124- let archiver = MultiFormatArchiver (
125- [ TarArchiver ( fileSystem: localFileSystem) , ZipArchiver ( fileSystem: localFileSystem) ]
126- )
110+ let archiver = UniversalArchiver ( localFileSystem)
127111 let path = AbsolutePath . root. appending ( " does_not_exist.tar.gz " )
128112 XCTAssertThrowsError ( try archiver. validate ( path: path) ) { error in
129113 XCTAssertEqual ( error as? FileSystemError , FileSystemError ( . noEntry, path) )
@@ -139,9 +123,7 @@ final class MultiFormatArchiverTests: XCTestCase {
139123 #endif
140124
141125 try testWithTemporaryDirectory { tmpdir in
142- let archiver = MultiFormatArchiver (
143- [ TarArchiver ( fileSystem: localFileSystem) , ZipArchiver ( fileSystem: localFileSystem) ]
144- )
126+ let archiver = UniversalArchiver ( localFileSystem)
145127
146128 let rootDir = tmpdir. appending ( component: UUID ( ) . uuidString)
147129 try localFileSystem. createDirectory ( rootDir)
0 commit comments