Author: bleny Date: 2010-06-14 10:12:34 +0200 (Mon, 14 Jun 2010) New Revision: 74 Url: http://nuiton.org/repositories/revision/diswork/74 Log: correction fuite m?\195?\169moire avec test Modified: trunk/diswork-fs/src/main/java/org/nuiton/diswork/fs/storage/Storage.java trunk/diswork-fs/src/test/java/org/nuiton/diswork/fs/AbstractDisworkFileSystemTest.java trunk/diswork-fs/src/test/java/org/nuiton/diswork/fs/DisworkFileSystemInMemoryTest.java Modified: trunk/diswork-fs/src/main/java/org/nuiton/diswork/fs/storage/Storage.java =================================================================== --- trunk/diswork-fs/src/main/java/org/nuiton/diswork/fs/storage/Storage.java 2010-06-11 15:52:09 UTC (rev 73) +++ trunk/diswork-fs/src/main/java/org/nuiton/diswork/fs/storage/Storage.java 2010-06-14 08:12:34 UTC (rev 74) @@ -249,17 +249,17 @@ public void removeDirectory(String id) throws IOException { log.debug("removeDirectory(\"" + id + "\")"); - removeKey(id); + remove(id); } public void removeFile(String id) throws IOException { log.debug("removeFile(\"" + id + "\")"); - removeKey(id); + remove(id); } public void removeLink(String id) { log.debug("removeLink(\"" + id + "\")"); - map.remove(id); + removeKey(id); } @@ -465,7 +465,11 @@ } public void setMap(DisworkMap map) { - this.map = map; + this.map = map; } + + public DisworkMap getMap() { + return map; + } } \ No newline at end of file Modified: trunk/diswork-fs/src/test/java/org/nuiton/diswork/fs/AbstractDisworkFileSystemTest.java =================================================================== --- trunk/diswork-fs/src/test/java/org/nuiton/diswork/fs/AbstractDisworkFileSystemTest.java 2010-06-11 15:52:09 UTC (rev 73) +++ trunk/diswork-fs/src/test/java/org/nuiton/diswork/fs/AbstractDisworkFileSystemTest.java 2010-06-14 08:12:34 UTC (rev 74) @@ -43,7 +43,7 @@ /** * The file will have this fixed size */ - static protected int randomFileSize = 9999; + static protected int randomFileSize = 25 * 1000; static protected DisworkFileSystem fileSystem; Modified: trunk/diswork-fs/src/test/java/org/nuiton/diswork/fs/DisworkFileSystemInMemoryTest.java =================================================================== --- trunk/diswork-fs/src/test/java/org/nuiton/diswork/fs/DisworkFileSystemInMemoryTest.java 2010-06-11 15:52:09 UTC (rev 73) +++ trunk/diswork-fs/src/test/java/org/nuiton/diswork/fs/DisworkFileSystemInMemoryTest.java 2010-06-14 08:12:34 UTC (rev 74) @@ -1,6 +1,11 @@ package org.nuiton.diswork.fs; +import static org.junit.Assert.assertEquals; + +import java.io.FileInputStream; + import org.junit.Before; +import org.junit.Test; import org.nuiton.diswork.fs.DisworkFileSystem; import org.nuiton.diswork.fs.DisworkFileSystemConfig; @@ -18,4 +23,22 @@ fileSystem = new DisworkFileSystem(disworkConfig); } + @Test + public void testMemoryLeak() throws Exception { + int initialSize = fileSystem.storage.getMap().size(); + + fileSystem.createDirectory("/dir"); + fileSystem.write("/dir/file", new FileInputStream(randomFilePath)); + fileSystem.createSymbolicLink("/dir/link", "/dir/file"); + + fileSystem.delete("/dir/link"); + fileSystem.delete("/dir/file"); + fileSystem.delete("/dir"); + + fileSystem.storage.clean(); + + int finalSize = fileSystem.storage.getMap().size(); + assertEquals(initialSize, finalSize); + } + }