diff options
author | Chiachang Wang <chiachangwang@google.com> | 2019-12-27 11:20:26 +0800 |
---|---|---|
committer | Chiachang Wang <chiachangwang@google.com> | 2019-12-27 03:43:48 +0000 |
commit | 5877916a3e54a6486ac4925ff9001c43a1538bbf (patch) | |
tree | 6c38c9da101480ef81565bccf682c5240fe52425 | |
parent | 7b60bfa137ad7ec9213ec4c2169cea4f303e2ce0 (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.java | 9 |
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) { |