| 833 | } |
| 834 | |
| 835 | void resolv_conf() |
| 836 | { |
| 837 | ifstream infile("../../../test/Core/QPilotOSMachine.json"); |
| 838 | if (!infile.is_open()) |
| 839 | { |
| 840 | std::cout << "Failed to open QPilotOSMachine.json" << std::endl; |
| 841 | return; |
| 842 | } |
| 843 | std::stringstream ss; |
| 844 | ss << infile.rdbuf(); |
| 845 | std::string context{ ss.str() }; |
| 846 | |
| 847 | JsonMsg::JsonParser parser; |
| 848 | if (!parser.load_json(context)) |
| 849 | { |
| 850 | cout << "Failed to load_json, context: " << context << endl; |
| 851 | return; |
| 852 | } |
| 853 | global_conf.m_server_ip = parser.get_string("server_ip"); |
| 854 | global_conf.m_server_port = parser.get_uint32("server_port"); |
| 855 | global_conf.m_qubits = parser.get_uint32("qubits"); |
| 856 | global_conf.m_output = parser.get_bool("output"); |
| 857 | global_conf.m_user = parser.get_string("user"); |
| 858 | global_conf.m_pswd = parser.get_string("pswd"); |
| 859 | global_conf.m_token = parser.get_string("token"); |
| 860 | |
| 861 | if (global_conf.m_server_ip == "" or global_conf.m_server_port <= 0) { |
| 862 | std::cerr << "'server_ip' or 'server_port' is absent!" << std::endl; |
| 863 | std::this_thread::sleep_for(2ms); |
| 864 | exit(0); |
| 865 | } |
| 866 | if (global_conf.m_user == "" or global_conf.m_token == "") { |
| 867 | std::cerr << "'user' or 'token' is absent!" << std::endl; |
| 868 | std::this_thread::sleep_for(2ms); |
| 869 | exit(0); |
| 870 | } |
| 871 | |
| 872 | parser.get_array("perform", global_conf.m_cases); |
| 873 | |
| 874 | auto &doc = parser.get_json_obj(); |
| 875 | for (auto &one_case : global_conf.m_cases) |
| 876 | { |
| 877 | auto &case_obj = doc[one_case.c_str()]; |
| 878 | CaseConf conf; |
| 879 | |
| 880 | if (case_obj.HasMember("default") and case_obj["default"].IsBool()) { |
| 881 | conf.m_default = case_obj["default"].GetBool(); |
| 882 | } |
| 883 | if (case_obj.HasMember("loop") and case_obj["loop"].IsUint()) { |
| 884 | conf.m_loop = case_obj["loop"].GetUint(); |
| 885 | } |
| 886 | if (case_obj.HasMember("shots") and case_obj["shots"].IsUint()) { |
| 887 | conf.m_shots = case_obj["shots"].GetUint(); |
| 888 | conf.m_em_compute_conf.m_nl_shots = conf.m_shots; |
| 889 | } |
| 890 | if (case_obj.HasMember("originir")) { |
| 891 | if (case_obj["originir"].IsString()) { |
| 892 | conf.m_originir.push_back(case_obj["originir"].GetString()); |
no test coverage detected