diff options
Diffstat (limited to 'OpenSim/Region/Environment/Modules')
-rw-r--r-- | OpenSim/Region/Environment/Modules/World/Archiver/ArchiveReadRequest.cs | 7 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Modules/World/Archiver/Tests/ArchiverTests.cs | 40 |
2 files changed, 39 insertions, 8 deletions
diff --git a/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveReadRequest.cs b/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveReadRequest.cs index 09776a7..bd58e7c 100644 --- a/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveReadRequest.cs +++ b/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveReadRequest.cs | |||
@@ -94,11 +94,13 @@ namespace OpenSim.Region.Environment.Modules.World.Archiver | |||
94 | 94 | ||
95 | byte[] data; | 95 | byte[] data; |
96 | TarArchiveReader.TarEntryType entryType; | 96 | TarArchiveReader.TarEntryType entryType; |
97 | |||
97 | while ((data = archive.ReadEntry(out filePath, out entryType)) != null) | 98 | while ((data = archive.ReadEntry(out filePath, out entryType)) != null) |
98 | { | 99 | { |
99 | //m_log.DebugFormat( | 100 | //m_log.DebugFormat( |
100 | // "[ARCHIVER]: Successfully read {0} ({1} bytes)}", filePath, data.Length); | 101 | // "[ARCHIVER]: Successfully read {0} ({1} bytes)}", filePath, data.Length); |
101 | if (entryType==TarArchiveReader.TarEntryType.TYPE_DIRECTORY) { | 102 | if (TarArchiveReader.TarEntryType.TYPE_DIRECTORY == entryType) |
103 | { | ||
102 | m_log.WarnFormat("[ARCHIVER]: Ignoring directory entry {0}", | 104 | m_log.WarnFormat("[ARCHIVER]: Ignoring directory entry {0}", |
103 | filePath); | 105 | filePath); |
104 | } | 106 | } |
@@ -407,7 +409,6 @@ namespace OpenSim.Region.Environment.Modules.World.Archiver | |||
407 | 409 | ||
408 | private static Stream URIFetch(Uri uri) | 410 | private static Stream URIFetch(Uri uri) |
409 | { | 411 | { |
410 | |||
411 | HttpWebRequest request = (HttpWebRequest) WebRequest.Create(uri); | 412 | HttpWebRequest request = (HttpWebRequest) WebRequest.Create(uri); |
412 | 413 | ||
413 | // request.Credentials = credentials; | 414 | // request.Credentials = credentials; |
@@ -425,8 +426,6 @@ namespace OpenSim.Region.Environment.Modules.World.Archiver | |||
425 | 426 | ||
426 | // return new BufferedStream(file, (int) response.ContentLength); | 427 | // return new BufferedStream(file, (int) response.ContentLength); |
427 | return new BufferedStream(file, 1000000); | 428 | return new BufferedStream(file, 1000000); |
428 | |||
429 | } | 429 | } |
430 | |||
431 | } | 430 | } |
432 | } | 431 | } |
diff --git a/OpenSim/Region/Environment/Modules/World/Archiver/Tests/ArchiverTests.cs b/OpenSim/Region/Environment/Modules/World/Archiver/Tests/ArchiverTests.cs index 149293d..db296b0 100644 --- a/OpenSim/Region/Environment/Modules/World/Archiver/Tests/ArchiverTests.cs +++ b/OpenSim/Region/Environment/Modules/World/Archiver/Tests/ArchiverTests.cs | |||
@@ -25,8 +25,14 @@ | |||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 | */ | 26 | */ |
27 | 27 | ||
28 | using System.IO; | ||
28 | using NUnit.Framework; | 29 | using NUnit.Framework; |
30 | using NUnit.Framework.SyntaxHelpers; | ||
31 | using OpenSim.Region.Environment.Interfaces; | ||
29 | using OpenSim.Region.Environment.Modules.World.Archiver; | 32 | using OpenSim.Region.Environment.Modules.World.Archiver; |
33 | using OpenSim.Region.Environment.Modules.World.Terrain; | ||
34 | using OpenSim.Region.Environment.Scenes; | ||
35 | using OpenSim.Tests.Common.Setup; | ||
30 | 36 | ||
31 | namespace OpenSim.Region.Environment.Modules.World.Archiver.Tests | 37 | namespace OpenSim.Region.Environment.Modules.World.Archiver.Tests |
32 | { | 38 | { |
@@ -38,11 +44,37 @@ namespace OpenSim.Region.Environment.Modules.World.Archiver.Tests | |||
38 | /// </summary> | 44 | /// </summary> |
39 | [Test] | 45 | [Test] |
40 | public void TestSaveOarV0p2() | 46 | public void TestSaveOarV0p2() |
41 | { | 47 | { |
42 | // Create an archive containing only a terrain | 48 | //log4net.Config.XmlConfigurator.Configure(); |
43 | //TarArchiveWriter taw = new TarArchiveWriter(); | ||
44 | 49 | ||
45 | //System.Console.WriteLine("wibble"); | 50 | ArchiverModule archiverModule = new ArchiverModule(); |
51 | TerrainModule terrainModule = new TerrainModule(); | ||
52 | |||
53 | Scene scene = SceneSetupHelpers.SetupScene(); | ||
54 | SceneSetupHelpers.SetupSceneModules(scene, archiverModule, terrainModule); | ||
55 | |||
56 | MemoryStream archiveWriteStream = new MemoryStream(); | ||
57 | archiverModule.ArchiveRegion(archiveWriteStream); | ||
58 | |||
59 | // If there are no assets to fetch, then the entire archive region code path will execute in this thread, | ||
60 | // so no need to worry about signalling. | ||
61 | MemoryStream archiveReadStream = new MemoryStream(archiveWriteStream.ToArray()); | ||
62 | TarArchiveReader tar = new TarArchiveReader(archiveReadStream); | ||
63 | |||
64 | bool gotControlFile = false; | ||
65 | |||
66 | string filePath; | ||
67 | TarArchiveReader.TarEntryType tarEntryType; | ||
68 | |||
69 | while (tar.ReadEntry(out filePath, out tarEntryType) != null) | ||
70 | { | ||
71 | if (ArchiveConstants.CONTROL_FILE_PATH == filePath) | ||
72 | gotControlFile = true; | ||
73 | } | ||
74 | |||
75 | Assert.That(gotControlFile, Is.True, "No control file in archive"); | ||
76 | |||
77 | // TODO: Test presence of more files and contents of files. | ||
46 | } | 78 | } |
47 | } | 79 | } |
48 | } \ No newline at end of file | 80 | } \ No newline at end of file |