CTS case: を実行するandroid.net.cts.ListeningPortsTest:: testNoListeningUdp6Ports
と失敗し、トレースは次のようになります。
android.net.cts.ListeningPortsTest$ListeningPortsAssertionError: android.net.cts.ListeningPortsTest.assertNoListeningPorts(ListeningPortsTest.java:130) の /proc/net/udp6 で addr=000000000000000000000000000000、port=43012、UID=1000 でリッスンしているポートが見つかりました
この場合、ファイル /proc/net/udp6 から udp6 ポート情報を取得しますが、udp6 ポートの状態が「07」であり、(include/net/tcp_states.h が定義したように) CLOSED を意味する場合、isPortListening()
「true」を返す理由「まったく同じです。次に、udp6 ポートがリッスンしていると考えて、例外をスローします。
この場合、何か問題があるのではないかと思いますが、誰か説明してもらえますか? ありがとう。
付録:
private static boolean isPortListening(String state, boolean isTcp) {
// 0A = TCP_LISTEN from include/net/tcp_states.h
String listeningState = isTcp ? "0A" : "07";
return listeningState.equals(state);
}