Esempio n. 1
0
    def run(self):
        """Starts all nodes defined in netsim's config directory."""

        if self.nrnodes or self.nodes or self.topology:
            if self.nodes:
                nodes = self.nodes.split(",")
            else:
                nodes = []

            if self.nrnodes and (self.nrnodes > len(nodes)):
                nodes += [
                    "Node{}".format(i)
                    for i in range(self.nrnodes - len(nodes))
                ]
        else:
            nodes = self.nodes

        network = Network(name=self.name,
                          nodes=nodes,
                          topology=self.topology,
                          new=self.new,
                          force=True)
        network.start()

        while True:
            time.sleep(0.1)
Esempio n. 2
0
def run_sim_backend(node_names, sim_backend):
    logger.debug(
        f"Starting simulaqron sim_backend process with nodes {node_names}")
    check_sim_backend(sim_backend=sim_backend)
    simulaqron_settings.sim_backend = sim_backend.value
    network = Network(name="default", nodes=node_names, force=True, new=True)
    network.start()
    return network
Esempio n. 3
0
 def test_start(self):
     network = Network(nodes=self.nodes, force=True)
     self.assertEqual(len(network.processes), 2 * len(self.nodes))
     for p in network.processes:
         self.assertFalse(p.is_alive())
     network.start(wait_until_running=True)
     self.assertTrue(network.running)
     for p in network.processes:
         self.assertTrue(p.is_alive())
Esempio n. 4
0
    def test_no_wait(self):
        network = Network(nodes=self.nodes, force=True)
        network.start(wait_until_running=False)
        self.assertFalse(network.running)

        # Check that network starts running eventually
        max_time = 10  # s
        t_start = timer()
        while timer() < t_start + max_time:
            if network.running:
                break
            else:
                time.sleep(0.1)

        self.assertTrue(network.running)
Esempio n. 5
0
    def setUpClass(cls):
        cls._alice = None
        cls._bob = None

        simulaqron_settings.default_settings()
        cls.network = Network(nodes=["Alice", "Bob"], force=True)
        cls.network.start()
 def setUpClass(cls):
     simulaqron_settings.default_settings()
     simulaqron_settings._read_user = False
     simulaqron_settings.log_level = logging.CRITICAL
     cls.node_names = ["Alice", "Bob", "Charlie"]
     cls.network = Network(nodes=cls.node_names, force=True)
     cls.network.start()
Esempio n. 7
0
    def setUpClass(cls):
        cls._alice = None
        cls._bob = None

        Settings.default_settings()
        cls.network = Network(nodes=["Alice", "Bob"])
        cls.network.start()
Esempio n. 8
0
    def setUpClass(cls):
        Settings.default_settings()
        cls.network = Network(nodes=["Alice", "Bob"])
        cls.network.start()

        cls.alice = CQCConnection("Alice")
        cls.bob = CQCConnection("Bob")
Esempio n. 9
0
    def setUpClass(cls):
        cls.iterations = 1
        sys.stdout.write("Testing single qubit gates gates with {} iterations \r\n".format(cls.iterations))

        simulaqron_settings.default_settings()
        cls.network = Network(nodes=["Alice"], force=True)
        cls.network.start()
Esempio n. 10
0
    def setUpClass(cls):
        cls.iterations = 100
        print("Testing factory gates with {} iterations \r\n".format(
            cls.iterations))

        simulaqron_settings.default_settings()
        cls.network = Network(force=True)
        cls.network.start()
Esempio n. 11
0
    def setUpClass(cls):
        nodes = ["Alice", "Bob", "Charlie"]
        cls.network = Network(nodes=nodes, topology="path")
        cls.network.start()

        cls.edges = [("Alice", "Bob"), ("Bob", "Charlie")]
        cls.non_edges = [(node, node)
                         for node in nodes] + [("Alice", "Charlie")]
Esempio n. 12
0
    def setUpClass(cls):
        cls.iterations = 100
        sys.stdout.write(
            "Testing factory gates with {} iterations \r\n".format(
                cls.iterations))

        Settings.default_settings()
        cls.network = Network()
        cls.network.start()
Esempio n. 13
0
    def setUpClass(cls):
        simulaqron_settings.default_settings()
        simulaqron_settings._read_user = False
        simulaqron_settings.log_level = logging.CRITICAL
        cls.network = Network(nodes=["Alice", "Bob"], force=True)
        cls.network.start()

        cls.alice = CQCConnection("Alice")
        cls.bob = CQCConnection("Bob")
    def setUpClass(cls):
        simulaqron_settings.default_settings()
        simulaqron_settings._read_user = False
        simulaqron_settings.log_level = logging.CRITICAL
        nodes = ["Alice", "Bob", "Charlie"]
        cls.network = Network(nodes=nodes, topology="path", force=True)
        cls.network.start()

        cls.edges = [("Alice", "Bob"), ("Bob", "Charlie")]
        cls.non_edges = [(node, node) for node in nodes] + [("Alice", "Charlie")]
Esempio n. 15
0
    def setUpClass(cls):
        cls.exp_values = (1 / 2, 1 / 2, 1 / 2)
        cls.iterations = 100

        simulaqron_settings.default_settings()
        simulaqron_settings.noisy_qubits = True
        simulaqron_settings.t1 = 0.0001

        cls.network = Network(nodes=["Alice"], force=True)
        cls.network.start()
Esempio n. 16
0
 def test_start_stop(self):
     network = Network()
     network.start()
     for p in network.processes:
         self.assertTrue(p.is_alive())
     network.stop()
     for p in network.processes:
         self.assertFalse(p.is_alive())
Esempio n. 17
0
 def test_start_stop(self):
     network = Network(force=True)
     network.start(wait_until_running=True)
     for p in network.processes:
         self.assertTrue(p.is_alive())
     network.stop()
     for p in network.processes:
         self.assertFalse(p.is_alive())
Esempio n. 18
0
    def setUpClass(cls):
        cls.nodes = []
        cls.node_codes = []

        cls.processes = []
        cls.processes_to_wait_for = None

        simulaqron_settings.default_settings()
        path_to_here = os.path.dirname(os.path.abspath(__file__))
        network_config_file = os.path.join(path_to_here, "configs",
                                           "network.json")
        simulaqron_settings.network_config_file = network_config_file
        nodes = ["Alice", "Bob", "Charlie"]
        cls.network = Network(nodes=nodes, force=True)
        cls.network.start()
Esempio n. 19
0
 def test_del(self):
     network = Network(force=True)
     network.start()
     del network
Esempio n. 20
0
 def test_stop(self):
     network = Network(force=True)
     network.stop()
     for p in network.processes:
         self.assertFalse(p.is_alive())
Esempio n. 21
0
 def setUpClass(cls):
     Settings.default_settings()
     cls.node_names = ["Alice", "Bob", "Charlie"]
     cls.network = Network(cls.node_names)
     cls.network.start()
Esempio n. 22
0
 def test_init_topology_argument(self):
     topology = {"Test1": [], "Test2": [], "Test3": []}
     nodes = list(topology.keys())
     self.network = Network(topology=topology, force=True)
     self.assert_nodes(self.network.nodes, nodes)
     self.assert_topology(self.network.topology, topology)
Esempio n. 23
0
 def test_init_node_argument(self):
     nodes = ["Test3", "Test4"]
     self.network = Network(nodes=nodes, force=True)
     self.assert_nodes(self.network.nodes, nodes)
     self.assert_topology(self.network.topology, self.default_topology)
Esempio n. 24
0
 def test_init_no_argument(self):
     self.network = Network(force=True)
     self.assert_nodes(self.network.nodes, self.default_nodes)
     self.assert_topology(self.network.topology, self.default_topology)
Esempio n. 25
0
    def setUpClass(cls):
        cls.iterations = 8

        simulaqron_settings.default_settings()
        cls.network = Network(nodes=["Alice", "Bob"], force=True)
        cls.network.start()
Esempio n. 26
0
 def test_init_node_and_topology_argument(self):
     nodes = ["Test5", "Test6"]
     topology = {"Test5": ["Test6"], "Test6": ["Test5"]}
     self.network = Network(nodes=nodes, topology=topology, force=True)
     self.assert_nodes(self.network.nodes, nodes)
     self.assert_topology(self.network.topology, topology)
Esempio n. 27
0
    def setUpClass(cls):
        cls.iterations = 8

        Settings.default_settings()
        cls.network = Network(nodes=["Alice", "Bob"])
        cls.network.start()
Esempio n. 28
0
 def setUpClass(cls):
     simulaqron_settings.default_settings()
     cls.network = Network(nodes=["Alice"], force=True)
     cls.network.start()
Esempio n. 29
0
 def setUpClass(cls):
     Settings.default_settings()
     cls.network = Network(nodes=["Alice"])
     cls.network.start()
Esempio n. 30
0
 def test_del(self):
     network = Network(force=True)
     network.start(wait_until_running=True)
     del network