shill: connection: Flush routes when default connection changes
Also be more verbose with address configuration.
BUG=None
TEST=Unit tests
Change-Id: I7a419f416e6ed6b583d57a06b7be42ed37933593
Reviewed-on: https://gerrit.chromium.org/gerrit/24936
Commit-Ready: Paul Stewart <pstew@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
diff --git a/connection_unittest.cc b/connection_unittest.cc
index 05d6013..3ff7abc 100644
--- a/connection_unittest.cc
+++ b/connection_unittest.cc
@@ -26,6 +26,7 @@
using std::string;
using std::vector;
using testing::_;
+using testing::Mock;
using testing::NiceMock;
using testing::Return;
using testing::StrictMock;
@@ -208,13 +209,18 @@
.WillOnce(Return(device));
EXPECT_CALL(*device.get(), RequestPortalDetection())
.WillOnce(Return(true));
+ EXPECT_CALL(routing_table_, FlushCache())
+ .WillOnce(Return(true));
connection_->SetIsDefault(true);
+ Mock::VerifyAndClearExpectations(&routing_table_);
EXPECT_TRUE(connection_->is_default());
EXPECT_CALL(routing_table_,
SetDefaultMetric(kTestDeviceInterfaceIndex0,
Connection::kNonDefaultMetricBase +
kTestDeviceInterfaceIndex0));
+ EXPECT_CALL(routing_table_, FlushCache())
+ .WillOnce(Return(true));
connection_->SetIsDefault(false);
EXPECT_FALSE(connection_->is_default());
}
@@ -301,7 +307,10 @@
.WillOnce(Return(device));
EXPECT_CALL(*device.get(), RequestPortalDetection())
.WillOnce(Return(true));
+ EXPECT_CALL(routing_table_, FlushCache())
+ .WillOnce(Return(true));
connection_->SetIsDefault(true);
+ Mock::VerifyAndClearExpectations(&routing_table_);
EXPECT_CALL(rtnl_handler_,
AddInterfaceAddress(kTestDeviceInterfaceIndex0,