Merge "Fix tests in TrafficStatsTest that are affected by adb over network"
am: 553872fc04
Change-Id: I8a001fe185788d5e2a9ceb8ce11162be3b80912e
This commit is contained in:
@@ -16,15 +16,14 @@
|
|||||||
|
|
||||||
package android.net.cts;
|
package android.net.cts;
|
||||||
|
|
||||||
|
import android.content.pm.PackageManager;
|
||||||
import android.net.NetworkStats;
|
import android.net.NetworkStats;
|
||||||
import android.net.TrafficStats;
|
import android.net.TrafficStats;
|
||||||
import android.os.Process;
|
import android.os.Process;
|
||||||
|
import android.os.SystemProperties;
|
||||||
import android.test.AndroidTestCase;
|
import android.test.AndroidTestCase;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
|
||||||
import java.io.FileNotFoundException;
|
|
||||||
import java.io.FileReader;
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
@@ -237,19 +236,37 @@ public class TrafficStatsTest extends AndroidTestCase {
|
|||||||
uidRxDeltaBytes <= tcpPacketToIpBytes(packetCount, byteCount) + tcpPacketToIpBytes(packetCount + maxExpectedExtraPackets + deltaRxOtherPackets, 0));
|
uidRxDeltaBytes <= tcpPacketToIpBytes(packetCount, byteCount) + tcpPacketToIpBytes(packetCount + maxExpectedExtraPackets + deltaRxOtherPackets, 0));
|
||||||
|
|
||||||
// Localhost traffic *does* count against total stats.
|
// Localhost traffic *does* count against total stats.
|
||||||
// Fudge by 132 packets of 1500 bytes not related to the test.
|
// Check the total stats increased after test data transfer over localhost has been made.
|
||||||
assertTrue("ttxp: " + totalTxPacketsBefore + " -> " + totalTxPacketsAfter,
|
assertTrue("ttxp: " + totalTxPacketsBefore + " -> " + totalTxPacketsAfter,
|
||||||
totalTxPacketsAfter >= totalTxPacketsBefore + uidTxDeltaPackets &&
|
totalTxPacketsAfter >= totalTxPacketsBefore + uidTxDeltaPackets);
|
||||||
totalTxPacketsAfter <= totalTxPacketsBefore + uidTxDeltaPackets + 132);
|
|
||||||
assertTrue("trxp: " + totalRxPacketsBefore + " -> " + totalRxPacketsAfter,
|
assertTrue("trxp: " + totalRxPacketsBefore + " -> " + totalRxPacketsAfter,
|
||||||
totalRxPacketsAfter >= totalRxPacketsBefore + uidRxDeltaPackets &&
|
totalRxPacketsAfter >= totalRxPacketsBefore + uidRxDeltaPackets);
|
||||||
totalRxPacketsAfter <= totalRxPacketsBefore + uidRxDeltaPackets + 132);
|
|
||||||
assertTrue("ttxb: " + totalTxBytesBefore + " -> " + totalTxBytesAfter,
|
assertTrue("ttxb: " + totalTxBytesBefore + " -> " + totalTxBytesAfter,
|
||||||
totalTxBytesAfter >= totalTxBytesBefore + uidTxDeltaBytes &&
|
totalTxBytesAfter >= totalTxBytesBefore + uidTxDeltaBytes);
|
||||||
totalTxBytesAfter <= totalTxBytesBefore + uidTxDeltaBytes + 132 * 1500);
|
|
||||||
assertTrue("trxb: " + totalRxBytesBefore + " -> " + totalRxBytesAfter,
|
assertTrue("trxb: " + totalRxBytesBefore + " -> " + totalRxBytesAfter,
|
||||||
totalRxBytesAfter >= totalRxBytesBefore + uidRxDeltaBytes &&
|
totalRxBytesAfter >= totalRxBytesBefore + uidRxDeltaBytes);
|
||||||
totalRxBytesAfter <= totalRxBytesBefore + uidRxDeltaBytes + 132 * 1500);
|
|
||||||
|
// If the adb TCP port is opened, this test may be run by adb over network.
|
||||||
|
// Huge amount of data traffic might go through the network and accounted into total packets
|
||||||
|
// stats. The upper bound check would be meaningless.
|
||||||
|
// TODO: Consider precisely calculate the traffic accounted due to adb over network and
|
||||||
|
// subtract it when checking upper bound instead of skip checking.
|
||||||
|
final PackageManager pm = mContext.getPackageManager();
|
||||||
|
if (SystemProperties.getInt("persist.adb.tcp.port", -1) > -1
|
||||||
|
|| SystemProperties.getInt("service.adb.tcp.port", -1) > -1
|
||||||
|
|| !pm.hasSystemFeature(PackageManager.FEATURE_USB_ACCESSORY)) {
|
||||||
|
Log.i(LOG_TAG, "adb is running over the network, skip the upper bound check");
|
||||||
|
} else {
|
||||||
|
// Fudge by 132 packets of 1500 bytes not related to the test.
|
||||||
|
assertTrue("ttxp: " + totalTxPacketsBefore + " -> " + totalTxPacketsAfter,
|
||||||
|
totalTxPacketsAfter <= totalTxPacketsBefore + uidTxDeltaPackets + 132);
|
||||||
|
assertTrue("trxp: " + totalRxPacketsBefore + " -> " + totalRxPacketsAfter,
|
||||||
|
totalRxPacketsAfter <= totalRxPacketsBefore + uidRxDeltaPackets + 132);
|
||||||
|
assertTrue("ttxb: " + totalTxBytesBefore + " -> " + totalTxBytesAfter,
|
||||||
|
totalTxBytesAfter <= totalTxBytesBefore + uidTxDeltaBytes + 132 * 1500);
|
||||||
|
assertTrue("trxb: " + totalRxBytesBefore + " -> " + totalRxBytesAfter,
|
||||||
|
totalRxBytesAfter <= totalRxBytesBefore + uidRxDeltaBytes + 132 * 1500);
|
||||||
|
}
|
||||||
|
|
||||||
// Localhost traffic should *not* count against mobile stats,
|
// Localhost traffic should *not* count against mobile stats,
|
||||||
// There might be some other traffic, but nowhere near 1MB.
|
// There might be some other traffic, but nowhere near 1MB.
|
||||||
@@ -265,6 +282,5 @@ public class TrafficStatsTest extends AndroidTestCase {
|
|||||||
assertTrue("mrxb: " + mobileRxBytesBefore + " -> " + mobileRxBytesAfter,
|
assertTrue("mrxb: " + mobileRxBytesBefore + " -> " + mobileRxBytesAfter,
|
||||||
mobileRxBytesAfter >= mobileRxBytesBefore &&
|
mobileRxBytesAfter >= mobileRxBytesBefore &&
|
||||||
mobileRxBytesAfter <= mobileRxBytesBefore + 200000);
|
mobileRxBytesAfter <= mobileRxBytesBefore + 200000);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user