Add support to control_loop_test for multiple nodes

Add the ability to specify the node when creating an event loop.

Change-Id: Ia12b98143ba9196ccac4fc5b049fabc50e74fc7a
diff --git a/aos/controls/control_loop_test.h b/aos/controls/control_loop_test.h
index 76e82eb..7ad5683 100644
--- a/aos/controls/control_loop_test.h
+++ b/aos/controls/control_loop_test.h
@@ -40,7 +40,12 @@
       : configuration_(std::move(configuration)),
         event_loop_factory_(&configuration_.message()),
         dt_(dt),
-        robot_status_event_loop_(MakeEventLoop("robot_status")) {
+        robot_status_event_loop_(MakeEventLoop(
+            "robot_status",
+            configuration::MultiNode(event_loop_factory_.configuration())
+                ? configuration::GetNode(event_loop_factory_.configuration(),
+                                         "roborio")
+                : nullptr)) {
     testing::EnableTestLogging();
     robot_state_sender_ =
         robot_status_event_loop_->MakeSender<::aos::RobotState>("/aos");
@@ -86,8 +91,9 @@
     battery_voltage_ = battery_voltage;
   }
 
-  ::std::unique_ptr<::aos::EventLoop> MakeEventLoop(std::string_view name) {
-    return event_loop_factory_.MakeEventLoop(name);
+  ::std::unique_ptr<::aos::EventLoop> MakeEventLoop(
+      std::string_view name, const Node *node = nullptr) {
+    return event_loop_factory_.MakeEventLoop(name, node);
   }
 
   void set_send_delay(std::chrono::nanoseconds send_delay) {
@@ -104,6 +110,10 @@
 
   ::std::chrono::nanoseconds dt() const { return dt_; }
 
+  const Configuration *configuration() const {
+    return &configuration_.message();
+  }
+
  private:
   // Sends out all of the required queue messages.
   void SendJoystickState() {