From: <ga...@us...> - 2009-08-07 08:38:06
|
Revision: 5631 http://jnode.svn.sourceforge.net/jnode/?rev=5631&view=rev Author: galatnm Date: 2009-08-07 08:37:53 +0000 (Fri, 07 Aug 2009) Log Message: ----------- Fix wrong variable used in getRecord method and update unit test. Modified Paths: -------------- trunk/fs/src/fs/org/jnode/fs/hfsplus/catalog/Catalog.java trunk/fs/src/test/org/jnode/fs/hfsplus/HfsPlusFileSystemTest.java Modified: trunk/fs/src/fs/org/jnode/fs/hfsplus/catalog/Catalog.java =================================================================== --- trunk/fs/src/fs/org/jnode/fs/hfsplus/catalog/Catalog.java 2009-08-02 06:12:19 UTC (rev 5630) +++ trunk/fs/src/fs/org/jnode/fs/hfsplus/catalog/Catalog.java 2009-08-07 08:37:53 UTC (rev 5631) @@ -279,7 +279,7 @@ int currentNodeNumber = getBTHeaderRecord().getRootNode(); int nodeSize = getBTHeaderRecord().getNodeSize(); ByteBuffer nodeData = ByteBuffer.allocate(nodeSize); - fs.getApi().read(catalogHeaderNodeOffset + (currentNodeNumber * nodeSize), buffer); + fs.getApi().read(catalogHeaderNodeOffset + (currentNodeNumber * nodeSize), nodeData); CatalogNode node = new CatalogNode(nodeData.array(), nodeSize); int currentOffset = 0; CatalogKey cKey = new CatalogKey(parentID, nodeName); Modified: trunk/fs/src/test/org/jnode/fs/hfsplus/HfsPlusFileSystemTest.java =================================================================== --- trunk/fs/src/test/org/jnode/fs/hfsplus/HfsPlusFileSystemTest.java 2009-08-02 06:12:19 UTC (rev 5630) +++ trunk/fs/src/test/org/jnode/fs/hfsplus/HfsPlusFileSystemTest.java 2009-08-07 08:37:53 UTC (rev 5631) @@ -17,7 +17,7 @@ * along with this library; If not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ - + package org.jnode.fs.hfsplus; import java.io.File; @@ -36,58 +36,72 @@ import org.jnode.fs.FileSystemException; import org.jnode.fs.service.FileSystemService; import org.jnode.fs.service.def.FileSystemPlugin; +import org.jnode.test.support.TestUtils; public class HfsPlusFileSystemTest extends TestCase { - private String TEST_IMAGE_FILENAME = "/home/flesire/kvm/hfs2.img"; + + private Device device; + private FileSystemService fss; + + @Override + protected void setUp() throws Exception { + super.setUp(); + // create test device. + device = createTestDisk(false); + // create file system service. + fss = createFSService(); + + } - public void testCreate() { - try { - File file = new File(TEST_IMAGE_FILENAME); - Device device = new FileDevice(file, "rw"); - DummyPluginDescriptor desc = new DummyPluginDescriptor(true); - DummyExtensionPoint ep = new DummyExtensionPoint("types", - "org.jnode.fs.types", "types"); - desc.addExtensionPoint(ep); - DummyExtension extension = new DummyExtension(); - DummyConfigurationElement element = new DummyConfigurationElement(); - element - .addAttribute("class", HfsPlusFileSystemType.class - .getName()); - extension.addElement(element); - ep.addExtension(extension); + public void testCreate() throws Exception { + HfsPlusFileSystemType type = fss.getFileSystemType(HfsPlusFileSystemType.ID); + HfsPlusFileSystem fs = new HfsPlusFileSystem(device, false, type); + HFSPlusParams params = new HFSPlusParams(); + params.setVolumeName("testdrive"); + params.setBlockSize(HFSPlusParams.OPTIMAL_BLOCK_SIZE); + params.setJournaled(false); + params.setJournalSize(HFSPlusParams.DEFAULT_JOURNAL_SIZE); + fs.create(params); + Superblock vh = fs.getVolumeHeader(); + assertEquals(Superblock.HFSPLUS_SUPER_MAGIC, vh.getMagic()); + assertEquals(4096, vh.getBlockSize()); - FileSystemService fss = new FileSystemPlugin(desc); - HfsPlusFileSystemType type = fss - .getFileSystemType(HfsPlusFileSystemType.ID); - HfsPlusFileSystem fs = new HfsPlusFileSystem(device, false, type); - HFSPlusParams params = new HFSPlusParams(); - params.setVolumeName("testdrive"); - params.setBlockSize(HFSPlusParams.OPTIMAL_BLOCK_SIZE); - params.setJournaled(false); - params.setJournalSize(HFSPlusParams.DEFAULT_JOURNAL_SIZE); - fs.create(params); - } catch (Exception e) { - e.printStackTrace(); - } } - public void testRead() { - File file = new File(TEST_IMAGE_FILENAME); - try { - Device device = new FileDevice(file, "rw"); - HfsPlusFileSystem fs = new HfsPlusFileSystemType().create(device, - false); - fs.read(); - fs.createRootEntry(); - @SuppressWarnings("unused") - FSDirectory root = fs.getRootEntry().getDirectory(); - } catch (FileNotFoundException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } catch (FileSystemException e) { - e.printStackTrace(); - } + public void testRead() throws Exception { + HfsPlusFileSystemType type = fss.getFileSystemType(HfsPlusFileSystemType.ID); + HfsPlusFileSystem fs = new HfsPlusFileSystem(device, false, type); + HFSPlusParams params = new HFSPlusParams(); + params.setVolumeName("testdrive"); + params.setBlockSize(HFSPlusParams.OPTIMAL_BLOCK_SIZE); + params.setJournaled(false); + params.setJournalSize(HFSPlusParams.DEFAULT_JOURNAL_SIZE); + fs.create(params); + fs.close(); + fs = new HfsPlusFileSystemType().create(device, false); + fs.read(); + fs.createRootEntry(); + FSDirectory root = fs.getRootEntry().getDirectory(); + root.addDirectory("test"); } + private Device createTestDisk(boolean formatted) throws IOException { + File file = TestUtils.makeTempFile("hfsDevice", "10M"); + Device device = new FileDevice(file, "rw"); + return device; + + } + + private FileSystemService createFSService() { + DummyPluginDescriptor desc = new DummyPluginDescriptor(true); + DummyExtensionPoint ep = new DummyExtensionPoint("types", "org.jnode.fs.types", "types"); + desc.addExtensionPoint(ep); + DummyExtension extension = new DummyExtension(); + DummyConfigurationElement element = new DummyConfigurationElement(); + element.addAttribute("class", HfsPlusFileSystemType.class.getName()); + extension.addElement(element); + ep.addExtension(extension); + return new FileSystemPlugin(desc); + } + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |