在CTS案例中,为什么在udp6端口关闭时断言:android.net.CTS.ListeningPortsTest::testNoListeningUdp6Ports
当我运行CTS案例时:在CTS案例中,为什么在udp6端口关闭时断言:android.net.CTS.ListeningPortsTest::testNoListeningUdp6Ports,android,cts,Android,Cts,当我运行CTS案例时:android.net.CTS.ListeningPortsTest::testNoListeningUdp6Ports,它失败了,跟踪如下: android.net.cts.ListeningPortsTest$ListeningPortsAssertionError:在android.net.cts.ListeningPortsTest.assertNoListeningPorts(ListeningPortsTest.java:130)的addr=0000000000
android.net.CTS.ListeningPortsTest::testNoListeningUdp6Ports
,它失败了,跟踪如下:
android.net.cts.ListeningPortsTest$ListeningPortsAssertionError:在android.net.cts.ListeningPortsTest.assertNoListeningPorts(ListeningPortsTest.java:130)的addr=00000000000000000000000000000000、port=43012、UID=1000 in/proc/net/udp6中找到侦听端口
本例从文件:/proc/net/udp6获取udp6端口信息,但如果udp6端口的状态为“07”,这意味着已关闭(如include/net/tcp_states.h所定义的),为什么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);
}
在方法
testNoListeningUdp6Ports
中,isTcp
参数设置为false
,但在testNoListeningTcp6Ports
中为true