LocalSocketTest.testAccessors: fix the *SendBufferSize* test
If one sets a *SendBufferSize* value which is less than
(2048 + SKB_DATA_ALIGN(sizeof(struct sk_buff))) then the value
retrieved will be (2 * (2048 + SKB_DATA_ALIGN(sizeof(struct sk_buff)))).
Otherwise, the value will be doubled.
Modify the test to consider both cases.
Change-Id: I2d89393b1ad441783c8a082b072a806b8901830c
Signed-off-by: Constantin Musca <constantin.musca@intel.com>
diff --git a/tests/cts/net/src/android/net/cts/LocalSocketTest.java b/tests/cts/net/src/android/net/cts/LocalSocketTest.java
index 0a4bc0d..70d69c8 100644
--- a/tests/cts/net/src/android/net/cts/LocalSocketTest.java
+++ b/tests/cts/net/src/android/net/cts/LocalSocketTest.java
@@ -112,6 +112,7 @@
}
public void testAccessors() throws IOException{
+ final int INITIAL_SEND_BUFFER_SIZE = 1998;
LocalSocket socket = new LocalSocket();
LocalSocketAddress addr = new LocalSocketAddress("secondary");
@@ -126,8 +127,14 @@
socket.setReceiveBufferSize(1999);
assertEquals(1999 << 1, socket.getReceiveBufferSize());
- socket.setSendBufferSize(1998);
- assertEquals(1998 << 1, socket.getSendBufferSize());
+ socket.setSendBufferSize(INITIAL_SEND_BUFFER_SIZE);
+ int sendBufferSize = socket.getSendBufferSize();
+ if ((INITIAL_SEND_BUFFER_SIZE << 1) < sendBufferSize) {
+ socket.setSendBufferSize(sendBufferSize / 2);
+ assertEquals(sendBufferSize, socket.getSendBufferSize());
+ } else {
+ assertEquals(INITIAL_SEND_BUFFER_SIZE << 1, sendBufferSize);
+ }
// Timeout is not support at present, so set is ignored
socket.setSoTimeout(1996);