Fix flaky test BinderTest.TetherGetStats
It is caused by the same interface name.
We used arc4random_uniform(10000) to generate interface
name before. Change it to make sure we won't use the same name.
Error log:
05-22 10:08:56 V/GTestResultParser: [ RUN ] BinderTest.TetherGetStats
05-22 10:08:56 V/GTestResultParser: iptables: Chain already exists.
05-22 10:08:56 V/GTestResultParser: ip6tables: Chain already exists.
05-22 10:08:56 V/GTestResultParser: system/netd/tests/binder_test.cpp:1064: Failure
05-22 10:08:56 V/GTestResultParser: Expected equality of these values:
05-22 10:08:56 V/GTestResultParser: expected1
05-22 10:08:56 V/GTestResultParser: Which is: { 975, 242, 579, 121 }
05-22 10:08:56 V/GTestResultParser: getStatsVectorByIf(statsVec, extIface1)
05-22 10:08:56 V/GTestResultParser: Which is: { 8975, 761, 5579, 509 }
05-22 10:08:56 V/GTestResultParser: system/netd/tests/binder_test.cpp:1066: Failure
05-22 10:08:56 V/GTestResultParser: Expected equality of these values:
05-22 10:08:56 V/GTestResultParser: expected2
05-22 10:08:56 V/GTestResultParser: Which is: { 8000, 519, 5000, 388 }
05-22 10:08:56 V/GTestResultParser: getStatsVectorByIf(statsVec, extIface2)
05-22 10:08:56 V/GTestResultParser: Which is: { 8975, 761, 5579, 509 }
Bug: 133818065
Test: cd system/netd && atest
Change-Id: I228f769d070e39eb6bb0b5e46a084b3db29a3b84
diff --git a/tests/binder_test.cpp b/tests/binder_test.cpp
index 65a0934..72f3e72 100644
--- a/tests/binder_test.cpp
+++ b/tests/binder_test.cpp
@@ -1053,8 +1053,11 @@
std::string intIface1 = StringPrintf("netdtest_%u", arc4random_uniform(10000));
std::string intIface2 = StringPrintf("netdtest_%u", arc4random_uniform(10000));
std::string intIface3 = StringPrintf("netdtest_%u", arc4random_uniform(10000));
- std::string extIface1 = StringPrintf("netdtest_%u", arc4random_uniform(10000));
- std::string extIface2 = StringPrintf("netdtest_%u", arc4random_uniform(10000));
+
+ // Ensure we won't use the same interface name, otherwise the test will fail.
+ u_int32_t rNumber = arc4random_uniform(10000);
+ std::string extIface1 = StringPrintf("netdtest_%u", rNumber);
+ std::string extIface2 = StringPrintf("netdtest_%u", rNumber + 1);
addTetherCounterValues(IPTABLES_PATH, intIface1, extIface1, 123, 111);
addTetherCounterValues(IP6TABLES_PATH, intIface1, extIface1, 456, 10);