当我运行 CTS case:android.net.cts.ListeningPortsTest:: testNoListeningUdp6Ports
时,它失败了,痕迹如下:
android.net.cts.ListeningPortsTest$ListeningPortsAssertionError: 在 android.net.cts.ListeningPortsTest.assertNoListeningPorts(ListeningPortsTest.java:130) 的 /proc/net/udp6 中找到监听端口
本例从文件:/proc/net/udp6 中获取 udp6 端口信息,但是如果 udp6 端口的状态为“07”,表示已关闭(如 include/net/tcp_states.h 所定义),为什么isPortListening()
返回“true” “ 全部都一样。然后case认为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);
}