Merge "Fix tests in TrafficStatsTest that are affected by adb over network"
This commit is contained in:
@@ -16,15 +16,14 @@
|
||||
|
||||
package android.net.cts;
|
||||
|
||||
import android.content.pm.PackageManager;
|
||||
import android.net.NetworkStats;
|
||||
import android.net.TrafficStats;
|
||||
import android.os.Process;
|
||||
import android.os.SystemProperties;
|
||||
import android.test.AndroidTestCase;
|
||||
import android.util.Log;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
@@ -237,19 +236,37 @@ public class TrafficStatsTest extends AndroidTestCase {
|
||||
uidRxDeltaBytes <= tcpPacketToIpBytes(packetCount, byteCount) + tcpPacketToIpBytes(packetCount + maxExpectedExtraPackets + deltaRxOtherPackets, 0));
|
||||
|
||||
// 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,
|
||||
totalTxPacketsAfter >= totalTxPacketsBefore + uidTxDeltaPackets &&
|
||||
totalTxPacketsAfter <= totalTxPacketsBefore + uidTxDeltaPackets + 132);
|
||||
totalTxPacketsAfter >= totalTxPacketsBefore + uidTxDeltaPackets);
|
||||
assertTrue("trxp: " + totalRxPacketsBefore + " -> " + totalRxPacketsAfter,
|
||||
totalRxPacketsAfter >= totalRxPacketsBefore + uidRxDeltaPackets &&
|
||||
totalRxPacketsAfter <= totalRxPacketsBefore + uidRxDeltaPackets + 132);
|
||||
totalRxPacketsAfter >= totalRxPacketsBefore + uidRxDeltaPackets);
|
||||
assertTrue("ttxb: " + totalTxBytesBefore + " -> " + totalTxBytesAfter,
|
||||
totalTxBytesAfter >= totalTxBytesBefore + uidTxDeltaBytes &&
|
||||
totalTxBytesAfter <= totalTxBytesBefore + uidTxDeltaBytes + 132 * 1500);
|
||||
totalTxBytesAfter >= totalTxBytesBefore + uidTxDeltaBytes);
|
||||
assertTrue("trxb: " + totalRxBytesBefore + " -> " + totalRxBytesAfter,
|
||||
totalRxBytesAfter >= totalRxBytesBefore + uidRxDeltaBytes &&
|
||||
totalRxBytesAfter <= totalRxBytesBefore + uidRxDeltaBytes + 132 * 1500);
|
||||
totalRxBytesAfter >= totalRxBytesBefore + uidRxDeltaBytes);
|
||||
|
||||
// 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,
|
||||
// There might be some other traffic, but nowhere near 1MB.
|
||||
@@ -265,6 +282,5 @@ public class TrafficStatsTest extends AndroidTestCase {
|
||||
assertTrue("mrxb: " + mobileRxBytesBefore + " -> " + mobileRxBytesAfter,
|
||||
mobileRxBytesAfter >= mobileRxBytesBefore &&
|
||||
mobileRxBytesAfter <= mobileRxBytesBefore + 200000);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user