def startSystems(self, portOffset):
        system1Port = 43000 + self.portBase + portOffset
        system2Port = 42000 + self.portBase + portOffset
        self.system1Caps = {'dog':'food',
                            'Admin Port': system1Port,
                            #'Convention Address': not specified, but is the leader anyhow
        }
        self.system1Caps.update(getattr(self, 'extra_capabilities', {}))
        if getattr(self, 'leaderTXOnly', False):
            self.system1Caps['Outbound Only'] = True

        self.system2Caps = { 'Admin Port': system2Port,
                             'Humanitarian': True,
                             'Adoption': True}
        self.system2Caps.update(getattr(self, 'extra_capabilities', {}))
        if not getattr(self, 'leaderTXOnly', False):
            self.system2Caps['Convention Address.IPv4'] = 'localhost:%d'%system1Port

        self.parent_conn, child_conn = Pipe()
        self.child = Process(target=System2,
                             args=(child_conn,
                                   self.baseName,
                                   self.system2Caps,
                               ))
        self.child.start()
        ActorSystem(self.baseName,
                    capabilities = self.system1Caps,
                    logDefs = simpleActorTestLogging())
        sleep(0.15)  # allow System2 to start and join the Convention

        if getattr(self, 'leaderTXOnly', False):
            self.assertEqual('Registered',
                             ActorSystem().ask(ActorSystem().createActor(PreRegActor),
                                               'localhost:%d'%system2Port,
                                               timedelta(seconds=3)))
            sleep(0.25)  # allow System2 to start and join the Convention
dataset/ETHPy150Open godaddy/Thespian/thespian/test/testMultipleActorSystems.py/TestMultiProcessSystem.startSystems/original