summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChiachang Wang <chiachangwang@google.com>2019-12-27 11:20:26 +0800
committerChiachang Wang <chiachangwang@google.com>2019-12-27 03:43:48 +0000
commit5877916a3e54a6486ac4925ff9001c43a1538bbf (patch)
tree6c38c9da101480ef81565bccf682c5240fe52425
parent7b60bfa137ad7ec9213ec4c2169cea4f303e2ce0 (diff)
Prevent wtf crash test app
TcpSocketTrackerTest will need to verify some unexpected cases work as intended or not. In these cases, module may log wtf log. However, AM will crash application if wtf log is found in eng build. Test will fail due to test app crashed. Thus, set the wtf handler in test to Log.e to prevent it. Bug: 146909385 Test: atest NetworkStackTests:\ com.android.networkstack.netlink.TcpSocketTrackerTest#testPollSocketsInfo_BadFormat in eng build Test: atest NetworkStackNextTests:\ com.android.networkstack.netlink.TcpSocketTrackerTest#testPollSocketsInfo_BadFormat in eng build Change-Id: I12f4125496f58fc8a47b124b4a47de6c2d0a386b
-rw-r--r--tests/unit/src/com/android/networkstack/netlink/TcpSocketTrackerTest.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/tests/unit/src/com/android/networkstack/netlink/TcpSocketTrackerTest.java b/tests/unit/src/com/android/networkstack/netlink/TcpSocketTrackerTest.java
index 341545f..a21e7cf 100644
--- a/tests/unit/src/com/android/networkstack/netlink/TcpSocketTrackerTest.java
+++ b/tests/unit/src/com/android/networkstack/netlink/TcpSocketTrackerTest.java
@@ -38,6 +38,8 @@ import android.net.INetd;
import android.net.MarkMaskParcel;
import android.net.Network;
import android.net.netlink.StructNlMsgHdr;
+import android.util.Log;
+import android.util.Log.TerribleFailureHandler;
import androidx.test.filters.SmallTest;
import androidx.test.runner.AndroidJUnit4;
@@ -198,9 +200,15 @@ public class TcpSocketTrackerTest {
@Mock private INetd mNetd;
private MockitoSession mSession;
@Mock NetworkShim mNetworkShim;
+ private TerribleFailureHandler mOldWtfHandler;
+
@Before
public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
+ // Override the default TerribleFailureHandler, as that handler might terminate the process
+ // (if we're on an eng build).
+ mOldWtfHandler =
+ Log.setWtfHandler((tag, what, system) -> Log.e(tag, what.getMessage(), what));
when(mDependencies.getNetd()).thenReturn(mNetd);
when(mDependencies.isTcpInfoParsingSupported()).thenReturn(true);
when(mDependencies.connectToKernel()).thenReturn(mMockFd);
@@ -222,6 +230,7 @@ public class TcpSocketTrackerTest {
@After
public void tearDown() {
mSession.finishMocking();
+ Log.setWtfHandler(mOldWtfHandler);
}
private MarkMaskParcel makeMarkMaskParcel(final int mask, final int mark) {