HADOOP-8982. TestSocketIOWithTimeout fails on Windows. Contributed by Chris Nauroth.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1490124 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
8f201a070e
commit
ba6bd09811
|
@ -749,6 +749,9 @@ Release 2.1.0-beta - UNRELEASED
|
|||
HADOOP-9526. TestShellCommandFencer and TestShell fail on Windows.
|
||||
(Arpit Agarwal via suresh)
|
||||
|
||||
HADOOP-8982. TestSocketIOWithTimeout fails on Windows.
|
||||
(Chris Nauroth via suresh)
|
||||
|
||||
Release 2.0.5-alpha - UNRELEASED
|
||||
|
||||
INCOMPATIBLE CHANGES
|
||||
|
|
|
@ -32,6 +32,7 @@ import org.apache.hadoop.test.MultithreadedTestUtil;
|
|||
import org.apache.hadoop.test.MultithreadedTestUtil.TestContext;
|
||||
import org.apache.hadoop.test.MultithreadedTestUtil.TestingThread;
|
||||
import org.apache.hadoop.util.Time;
|
||||
import org.apache.hadoop.util.Shell;
|
||||
|
||||
import org.junit.Test;
|
||||
import static org.junit.Assert.*;
|
||||
|
@ -144,12 +145,20 @@ public class TestSocketIOWithTimeout {
|
|||
// Nevertheless, the output stream is closed, because
|
||||
// a partial write may have succeeded (see comment in
|
||||
// SocketOutputStream#write(byte[]), int, int)
|
||||
try {
|
||||
out.write(1);
|
||||
fail("Did not throw");
|
||||
} catch (IOException ioe) {
|
||||
GenericTestUtils.assertExceptionContains(
|
||||
"stream is closed", ioe);
|
||||
// This portion of the test cannot pass on Windows due to differences in
|
||||
// behavior of partial writes. Windows appears to buffer large amounts of
|
||||
// written data and send it all atomically, thus making it impossible to
|
||||
// simulate a partial write scenario. Attempts were made to switch the
|
||||
// test from using a pipe to a network socket and also to use larger and
|
||||
// larger buffers in doIO. Nothing helped the situation though.
|
||||
if (!Shell.WINDOWS) {
|
||||
try {
|
||||
out.write(1);
|
||||
fail("Did not throw");
|
||||
} catch (IOException ioe) {
|
||||
GenericTestUtils.assertExceptionContains(
|
||||
"stream is closed", ioe);
|
||||
}
|
||||
}
|
||||
|
||||
out.close();
|
||||
|
|
Loading…
Reference in New Issue