示例#1
0
    def setUpClass(cls):
        super().setUpClass()

        cls.partitions = []
        cls.enclave_name = "test"

        partition = Partition(cls.ca)
        cls.partitions.append(partition)
        gprint("Started service %s" % partition.service_id)
        gprint("Started partition %s" % partition.get_spec())
        gprint()

        partition = partition.split_partition()
        partition.start_partition()
        cls.partitions.append(partition)
        gprint("Started service %s" % partition.service_id)
        gprint("Started 2nd partition %s" % partition.get_spec())
        gprint()
        cls.partitions[0].wait_partition_started_source()
        cls.partitions[0].resume_partition()
        cls.partitions[0].pause_partition()
        cls.partitions[0].resume_partition()
        cls.partitions[0].wait_partition_source()
        partition.wait_partition_destination()
        partition.finish_partition()
        cls.partitions[0].finish_partition()

        cls.frontend = Kbupd(1337, "frontend", cls.ca, "--enclave-name",
                             cls.enclave_name, "--max-backup-data-length",
                             str(BACKUP_DATA_LENGTH), "--partitions",
                             ';'.join([p.get_spec() for p in cls.partitions]))
        gprint("Started frontend %s" % cls.frontend.node_id)
        gprint()

        cls.backup_ids = (
            backup_id_to_str(0),
            backup_id_to_str(2**256 - 1),
            backup_id_to_str((2**256 - 1) // 2),
            backup_id_to_str((2**256 - 1) // 2 + 1),
            backup_id_to_str(random.randint(0, 2**256 - 1)),
            backup_id_to_str(random.randint(0, 2**256 - 1)),
            backup_id_to_str(random.randint(0, 2**256 - 1)),
            backup_id_to_str(random.randint(0, 2**256 - 1)),
            backup_id_to_str(random.randint(0, 2**256 - 1)),
            backup_id_to_str(random.randint(0, 2**256 - 1)),
        )
        cls.backup_data = random_id(BACKUP_DATA_LENGTH)
        cls.backup_pin = random_id(32)

        cls.client = KbupdClient(cls.frontend, cls.enclave_name,
                                 cls.partitions[0].service_id)