summaryrefslogtreecommitdiff
path: root/connectivity
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2017-11-16 08:30:07 +0100
committerStephan Bergmann <sbergman@redhat.com>2017-11-16 18:28:36 +0100
commit84e1a01e2d1964a143f5b01fa0b70d9570dcb834 (patch)
tree8ad422dd417f3e41b02742effb44b661a7c25fee /connectivity
parent20f6242b2c50876754368eeadcdc8902cf76e79a (diff)
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 <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'connectivity')
-rw-r--r--connectivity/qa/connectivity/tools/AbstractDatabase.java9
-rw-r--r--connectivity/qa/connectivity/tools/HsqlDatabase.java19
2 files changed, 16 insertions, 12 deletions
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;
}