Mercurial > hg > monetdb-java
changeset 529:ac6331eb7175 onclient
Add tests for io errors that occur after transfer has begun
FailDownloadLate is currently disabled because it causes a hang,
which triggers the watchdog and kills the test runner.
author | Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com> |
---|---|
date | Thu, 26 Aug 2021 16:51:58 +0200 (2021-08-26) |
parents | 2d14abd1fc52 |
children | bf47aab3aeb7 |
files | tests/OnClientTester.java |
diffstat | 1 files changed, 18 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/OnClientTester.java +++ b/tests/OnClientTester.java @@ -579,4 +579,22 @@ public final class OnClientTester { update("COPY OFFSET 2 INTO foo FROM 'banana' ON CLIENT", 2); queryInt("SELECT i FROM foo WHERE t = 'three'", 3); } + + public void test_FailUploadLate() throws SQLException, Failure { + prepare(); + conn.setUploadHandler(new MyUploadHandler(100, 50, "i don't like line 50")); + expectError("COPY INTO foo FROM 'banana' ON CLIENT", "i don't like"); + assertEq("connection is closed", true, conn.isClosed()); + } + + // Disabled because it hangs, triggering the watchdog timer + public void testx_FailDownloadLate() throws SQLException, Failure { + prepare(); + MyDownloadHandler handler = new MyDownloadHandler(200, "download refused"); + conn.setDownloadHandler(handler); + update("INSERT INTO foo SELECT value as i, 'number' || value AS t FROM sys.generate_series(0, 100)", 100); + expectError("COPY (SELECT * FROM foo) INTO 'banana' ON CLIENT", "download refused"); + queryInt("SELECT 42 -- check if the connection still works", 42); + } + }