Convert IdletimerController to iptables-restore.

Bug: 28362720
Test: bullhead builds,boots
Test: netd_{unit,integration}_test pass
Change-Id: I435346a25a25df23e72dbc5be4ead0782e36c78d
diff --git a/server/IdletimerControllerTest.cpp b/server/IdletimerControllerTest.cpp
index 51f19e3..ace3fd9 100644
--- a/server/IdletimerControllerTest.cpp
+++ b/server/IdletimerControllerTest.cpp
@@ -24,63 +24,72 @@
 #include "IdletimerController.h"
 #include "IptablesBaseTest.h"
 
+using android::base::Join;
 using android::base::StringPrintf;
 
 class IdletimerControllerTest : public IptablesBaseTest {
 protected:
     IdletimerControllerTest() {
-        IdletimerController::execFunction = fake_android_fork_exec;
+        IdletimerController::execIptablesRestore = fakeExecIptablesRestore;
     }
     IdletimerController mIt;
 };
 
 TEST_F(IdletimerControllerTest, TestSetupIptablesHooks) {
     mIt.setupIptablesHooks();
-    expectIptablesCommands(ExpectedIptablesCommands{});
     expectIptablesRestoreCommands(ExpectedIptablesCommands{});
 }
 
 TEST_F(IdletimerControllerTest, TestEnableDisable) {
     std::vector<std::string> expected = {
-        "-t raw -F idletimer_raw_PREROUTING",
-        "-t mangle -F idletimer_mangle_POSTROUTING",
+        "*raw\n"
+        ":idletimer_raw_PREROUTING -\n"
+        "COMMIT\n"
+        "*mangle\n"
+        ":idletimer_mangle_POSTROUTING -\n"
+        "COMMIT\n",
     };
 
     mIt.enableIdletimerControl();
-    expectIptablesCommands(expected);
+    expectIptablesRestoreCommands(expected);
 
     mIt.enableIdletimerControl();
-    expectIptablesCommands(expected);
+    expectIptablesRestoreCommands(expected);
 
     mIt.disableIdletimerControl();
-    expectIptablesCommands(expected);
+    expectIptablesRestoreCommands(expected);
 
     mIt.disableIdletimerControl();
-    expectIptablesCommands(expected);
+    expectIptablesRestoreCommands(expected);
 }
 
 const std::vector<std::string> makeAddRemoveCommands(bool add) {
     const char *op = add ? "-A" : "-D";
-    return {
-        StringPrintf("-t raw %s idletimer_raw_PREROUTING -i wlan0 -j IDLETIMER"
+    std::vector<std::string> cmds = {
+        "*raw",
+        StringPrintf("%s idletimer_raw_PREROUTING -i wlan0 -j IDLETIMER"
                      " --timeout 12345 --label hello --send_nl_msg 1", op),
-        StringPrintf("-t mangle %s idletimer_mangle_POSTROUTING -o wlan0 -j IDLETIMER"
+        "COMMIT",
+        "*mangle",
+        StringPrintf("%s idletimer_mangle_POSTROUTING -o wlan0 -j IDLETIMER"
                      " --timeout 12345 --label hello --send_nl_msg 1", op),
+        "COMMIT\n",
     };
+    return { Join(cmds, '\n') };
 }
 
 TEST_F(IdletimerControllerTest, TestAddRemove) {
     auto expected = makeAddRemoveCommands(true);
     mIt.addInterfaceIdletimer("wlan0", 12345, "hello");
-    expectIptablesCommands(expected);
+    expectIptablesRestoreCommands(expected);
 
     mIt.addInterfaceIdletimer("wlan0", 12345, "hello");
-    expectIptablesCommands(expected);
+    expectIptablesRestoreCommands(expected);
 
     expected = makeAddRemoveCommands(false);
     mIt.removeInterfaceIdletimer("wlan0", 12345, "hello");
-    expectIptablesCommands(expected);
+    expectIptablesRestoreCommands(expected);
 
     mIt.removeInterfaceIdletimer("wlan0", 12345, "hello");
-    expectIptablesCommands(expected);
+    expectIptablesRestoreCommands(expected);
 }