kaistshadow / blockchain-sim

Scalable blockchain simulator/emulator running on shadow simulator
MIT License
9 stars 1 forks source link

add peer connection reg test #267

Closed tkdlqm2 closed 3 years ago

tkdlqm2 commented 3 years ago
def test_peer_connection(plugin_output_files, IP_list, xml_file):
    addnode_list = utils.get_addnode_list(IP_list, xml_file)
    getpeerinfo_list = utils.get_peerinfo(plugin_output_files, IP_list)
    result_count = 0
    con_count = 0

    for i in range(0,len(addnode_list)):
        for j in range(0,len(addnode_list[i])):
            if addnode_list[i][j] in getpeerinfo_list[i]:
                con_count += 1
        if len(addnode_list[i]) == con_count:
            result_count += 1
        con_count = 0

    if result_count == len(addnode_list):
        print("Success peer connection test ...")
        sys.exit(0)
    else:
        print("fail peer connection test ...")
        sys.exit(1)

bitcoin 기준으로 테스트를 한다고 할 경우, xml에 "addnode" 플래그 값으로 connection할 peer를 설정을 해주고, 설정해준 ip주소와 "getpeerinfo"를 통해 시뮬레이션 상에서 connection된 peer ip와 일치하는지 확인하는 테스트 소스코드임.