diff --git a/components/net/sf/briar/db/H2Database.java b/components/net/sf/briar/db/H2Database.java index 82df78d049b245ec38531c9345cf282f0232cbe5..2ddb2f789914181852a1383e659917ef49790b29 100644 --- a/components/net/sf/briar/db/H2Database.java +++ b/components/net/sf/briar/db/H2Database.java @@ -55,7 +55,8 @@ class H2Database extends JdbcDatabase { public long getFreeSpace() throws DbException { try { File dir = home.getParentFile(); - long free = FileSystemUtils.freeSpaceKb(dir.getAbsolutePath()); + String path = dir.getAbsolutePath(); + long free = FileSystemUtils.freeSpaceKb(path) * 1024L; long used = getDiskSpace(dir); long quota = maxSize - used; long min = Math.min(free, quota); diff --git a/test/net/sf/briar/db/H2DatabaseTest.java b/test/net/sf/briar/db/H2DatabaseTest.java index a46755d92b24eaa680b2b21082a01b6844ff8ba4..80d46876658cc54bf10dcf716b28201153a7b6cd 100644 --- a/test/net/sf/briar/db/H2DatabaseTest.java +++ b/test/net/sf/briar/db/H2DatabaseTest.java @@ -25,6 +25,7 @@ import net.sf.briar.api.protocol.GroupId; import net.sf.briar.api.protocol.Message; import net.sf.briar.api.protocol.MessageId; +import org.apache.commons.io.FileSystemUtils; import org.jmock.Expectations; import org.jmock.Mockery; import org.junit.After; @@ -628,7 +629,7 @@ public class H2DatabaseTest extends TestCase { } @Test - public void testGetFreeSpace() throws DbException { + public void testGetFreeSpace() throws Exception { byte[] largeBody = new byte[ONE_MEGABYTE]; for(int i = 0; i < largeBody.length; i++) largeBody[i] = (byte) i; Message message1 = new TestMessage(messageId, MessageId.NONE, groupId, @@ -636,7 +637,8 @@ public class H2DatabaseTest extends TestCase { Database<Connection> db = open(false); // Sanity check: there should be enough space on disk for this test - assertTrue(testDir.getFreeSpace() > MAX_SIZE); + String path = testDir.getAbsolutePath(); + assertTrue(FileSystemUtils.freeSpaceKb(path) * 1024L > MAX_SIZE); // The free space should not be more than the allowed maximum size long free = db.getFreeSpace(); assertTrue(free <= MAX_SIZE);