connectivity/qa/connectivity/tools/AbstractDatabase.java | 9 ------- connectivity/qa/connectivity/tools/HsqlDatabase.java | 19 +++++++++++---- dbaccess/qa/complex/dbaccess/RowSet.java | 6 ++++ 3 files changed, 22 insertions(+), 12 deletions(-)
New commits: commit 84e1a01e2d1964a143f5b01fa0b70d9570dcb834 Author: Stephan Bergmann <sberg...@redhat.com> Date: Thu Nov 16 08:30:07 2017 +0100 Delete test*.odb files ...that are created in java.io.tmpdir (e.g., /tmp on Linux) by connectivity.tools.HsqlDatabase.createDBDocument() during e.g. JunitTest_dbaccess_complex. This revealed that connectivity.tools.AbstractDatabase.delete() (even if it would have been called by the test) would have been non-effective at deleting the file, as the java.io.File constructor used takes a pathname not a file URL as argument, so the call to java.io.File.delete() would not have deleted the relevant file (and returned false, rather). Change-Id: I268e1d1732ac7a0db9ccde7d4ac4f09aa3811e11 Reviewed-on: https://gerrit.libreoffice.org/44801 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Stephan Bergmann <sberg...@redhat.com> diff --git a/connectivity/qa/connectivity/tools/AbstractDatabase.java b/connectivity/qa/connectivity/tools/AbstractDatabase.java index f7295d948517..601b36e23038 100644 --- a/connectivity/qa/connectivity/tools/AbstractDatabase.java +++ b/connectivity/qa/connectivity/tools/AbstractDatabase.java @@ -124,14 +124,7 @@ public abstract class AbstractDatabase implements DatabaseAccess delete(); } - private void delete() - { - if (m_databaseDocumentFile != null) - { - final File file = new File(m_databaseDocumentFile); - file.delete(); - } - } + protected void delete() {} /** returns the underlying database document */ diff --git a/connectivity/qa/connectivity/tools/HsqlDatabase.java b/connectivity/qa/connectivity/tools/HsqlDatabase.java index 13b0f32d24ae..94e994bffdf6 100644 --- a/connectivity/qa/connectivity/tools/HsqlDatabase.java +++ b/connectivity/qa/connectivity/tools/HsqlDatabase.java @@ -33,6 +33,7 @@ import helper.URLHelper; import java.io.File; import java.util.HashMap; import java.util.Map; +import org.junit.Assert; public class HsqlDatabase extends AbstractDatabase { @@ -54,10 +55,11 @@ public class HsqlDatabase extends AbstractDatabase */ private void createDBDocument() throws Exception { - final File documentFile = File.createTempFile("testdb", ".odb"); - if ( documentFile.exists() ) - documentFile.delete(); - m_databaseDocumentFile = URLHelper.getFileURLFromSystemPath(documentFile); + Assert.assertNull(m_documentFile); + m_documentFile = File.createTempFile("testdb", ".odb"); + if ( m_documentFile.exists() ) + m_documentFile.delete(); + m_databaseDocumentFile = URLHelper.getFileURLFromSystemPath(m_documentFile); m_databaseDocument = UnoRuntime.queryInterface( XOfficeDatabaseDocument.class, m_orb.createInstance("com.sun.star.sdb.OfficeDatabaseDocument")); @@ -72,6 +74,13 @@ public class HsqlDatabase extends AbstractDatabase } ); } + @Override protected final void delete() { + if (m_documentFile != null) { + boolean ok = m_documentFile.delete(); + Assert.assertTrue("delete " + m_documentFile.getPath(), ok); + } + } + /** drops the table with a given name @param _name @@ -188,4 +197,6 @@ public class HsqlDatabase extends AbstractDatabase final XAppend appendTable = UnoRuntime.queryInterface( XAppend.class, suppTables.getTables() ); appendTable.appendByDescriptor(sdbcxDescriptor); } + + private File m_documentFile; } diff --git a/dbaccess/qa/complex/dbaccess/RowSet.java b/dbaccess/qa/complex/dbaccess/RowSet.java index e617d2546525..4c5fcc6da793 100644 --- a/dbaccess/qa/complex/dbaccess/RowSet.java +++ b/dbaccess/qa/complex/dbaccess/RowSet.java @@ -47,6 +47,7 @@ import java.lang.reflect.Method; import java.util.Random; // ---------- junit imports ----------------- +import org.junit.After; import org.junit.Test; import static org.junit.Assert.*; @@ -127,6 +128,11 @@ public class RowSet extends TestCase } } + @After public final void closeAndDeleteDatabase() { + if (m_database != null) { + m_database.closeAndDelete(); + } + } /** creates a com.sun.star.sdb.RowSet to use during the test * @param command _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits