summaryrefslogtreecommitdiffstats
path: root/services/tests
diff options
context:
space:
mode:
authorLorenzo Colitti <lorenzo@google.com>2015-07-28 01:20:16 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-07-28 01:20:16 +0000
commit62ca62b32aae083c0f2d8b0bbec1fbd7d698f4ad (patch)
treec99f981e0ca6e1cf312e8810b03b5fa0f81c8eeb /services/tests
parent7d07aff85e41a95ce4743d3b371935c9f21813ab (diff)
parente288b3af14421731d8f477b97e8d77588f20498b (diff)
downloadframeworks_base-62ca62b32aae083c0f2d8b0bbec1fbd7d698f4ad.zip
frameworks_base-62ca62b32aae083c0f2d8b0bbec1fbd7d698f4ad.tar.gz
frameworks_base-62ca62b32aae083c0f2d8b0bbec1fbd7d698f4ad.tar.bz2
am e288b3af: Merge changes I5c994de5,I6cb0dd84 into mnc-dev
* commit 'e288b3af14421731d8f477b97e8d77588f20498b': Add a test for public bugs 2111 and 2136. Always check off-link connectivity in NetworkDiagnostics.
Diffstat (limited to 'services/tests')
-rw-r--r--services/tests/servicestests/src/android/net/dhcp/DhcpPacketTest.java68
1 files changed, 67 insertions, 1 deletions
diff --git a/services/tests/servicestests/src/android/net/dhcp/DhcpPacketTest.java b/services/tests/servicestests/src/android/net/dhcp/DhcpPacketTest.java
index ba1231f..da1df1a 100644
--- a/services/tests/servicestests/src/android/net/dhcp/DhcpPacketTest.java
+++ b/services/tests/servicestests/src/android/net/dhcp/DhcpPacketTest.java
@@ -21,12 +21,13 @@ import android.net.DhcpResults;
import android.net.LinkAddress;
import android.system.OsConstants;
import android.test.suitebuilder.annotation.SmallTest;
-import junit.framework.TestCase;
+import com.android.internal.util.HexDump;
import java.net.Inet4Address;
import java.nio.ByteBuffer;
import java.util.ArrayList;
+import junit.framework.TestCase;
import libcore.util.HexEncoding;
import static android.net.dhcp.DhcpPacket.*;
@@ -370,4 +371,69 @@ public class DhcpPacketTest extends TestCase {
assertDhcpResults("172.17.152.118/16", "172.17.1.1", "172.17.1.1",
null, "1.1.1.1", null, 43200, false, dhcpResults);
}
+
+ @SmallTest
+ public void testBug2111() throws Exception {
+ final ByteBuffer packet = ByteBuffer.wrap(HexEncoding.decode((
+ // IP header.
+ "4500014c00000000ff119beac3eaf3880a3f5d04" +
+ // UDP header. TODO: fix invalid checksum (due to MAC address obfuscation).
+ "0043004401387464" +
+ // BOOTP header.
+ "0201060002554812000a0000000000000a3f5d040000000000000000" +
+ // MAC address.
+ "00904c00000000000000000000000000" +
+ // Server name.
+ "0000000000000000000000000000000000000000000000000000000000000000" +
+ "0000000000000000000000000000000000000000000000000000000000000000" +
+ // File.
+ "0000000000000000000000000000000000000000000000000000000000000000" +
+ "0000000000000000000000000000000000000000000000000000000000000000" +
+ "0000000000000000000000000000000000000000000000000000000000000000" +
+ "0000000000000000000000000000000000000000000000000000000000000000" +
+ // Options.
+ "638253633501023604c00002fe33040000bfc60104fffff00003040a3f50010608c0000201c0000202" +
+ "0f0f646f6d61696e3132332e636f2e756b0000000000ff00000000"
+ ).toCharArray(), false));
+
+ DhcpPacket offerPacket = DhcpPacket.decodeFullPacket(packet, ENCAP_L3);
+ assertTrue(offerPacket instanceof DhcpOfferPacket);
+ DhcpResults dhcpResults = offerPacket.toDhcpResults();
+ assertDhcpResults("10.63.93.4/20", "10.63.80.1", "192.0.2.1,192.0.2.2",
+ "domain123.co.uk", "192.0.2.254", null, 49094, false, dhcpResults);
+ }
+
+ @SmallTest
+ public void testBug2136() throws Exception {
+ final ByteBuffer packet = ByteBuffer.wrap(HexEncoding.decode((
+ // Ethernet header.
+ "bcf5ac000000d0c7890000000800" +
+ // IP header.
+ "4500014c00000000ff119beac3eaf3880a3f5d04" +
+ // UDP header. TODO: fix invalid checksum (due to MAC address obfuscation).
+ "0043004401387574" +
+ // BOOTP header.
+ "0201060163339a3000050000000000000a209ecd0000000000000000" +
+ // MAC address.
+ "bcf5ac00000000000000000000000000" +
+ // Server name.
+ "0000000000000000000000000000000000000000000000000000000000000000" +
+ "0000000000000000000000000000000000000000000000000000000000000000" +
+ // File.
+ "0000000000000000000000000000000000000000000000000000000000000000" +
+ "0000000000000000000000000000000000000000000000000000000000000000" +
+ "0000000000000000000000000000000000000000000000000000000000000000" +
+ "0000000000000000000000000000000000000000000000000000000000000000" +
+ // Options.
+ "6382536335010236040a20ff80330400001c200104fffff00003040a20900106089458413494584135" +
+ "0f0b6c616e63732e61632e756b000000000000000000ff00000000"
+ ).toCharArray(), false));
+
+ DhcpPacket offerPacket = DhcpPacket.decodeFullPacket(packet, ENCAP_L2);
+ assertTrue(offerPacket instanceof DhcpOfferPacket);
+ assertEquals("BCF5AC000000", HexDump.toHexString(offerPacket.getClientMac()));
+ DhcpResults dhcpResults = offerPacket.toDhcpResults();
+ assertDhcpResults("10.32.158.205/20", "10.32.144.1", "148.88.65.52,148.88.65.53",
+ "lancs.ac.uk", "10.32.255.128", null, 7200, false, dhcpResults);
+ }
}