@@ -93,10 +93,10 @@ using vm_manager::GetVmManager;
9393
9494namespace {
9595
96- std::pair<uint16_t , uint16_t > ParsePortRange (const std::string& flag) {
96+ Result< std::pair<uint16_t , uint16_t > > ParsePortRange (const std::string& flag) {
9797 static const std::regex rgx (" [0-9]+:[0-9]+" );
98- CHECK (std::regex_match (flag, rgx))
99- << " Port range flag has invalid value: " << flag;
98+ CF_EXPECTF (std::regex_match (flag, rgx),
99+ " Port range flag has invalid value: '{}' " , flag) ;
100100 std::pair<uint16_t , uint16_t > port_range;
101101 std::stringstream ss (flag);
102102 char c;
@@ -342,8 +342,8 @@ Result<CuttlefishConfig> InitializeCuttlefishConfiguration(
342342 }
343343
344344 for (const auto & fragment : injector.getMultibindings <ConfigFragment>()) {
345- CHECK (tmp_config_obj.SaveFragment (*fragment))
346- << " Failed to save fragment " << fragment->Name ();
345+ CF_EXPECTF (tmp_config_obj.SaveFragment (*fragment),
346+ " Failed to save fragment '{}' " , fragment->Name () );
347347 }
348348
349349 tmp_config_obj.set_root_dir (root_dir);
@@ -624,9 +624,10 @@ Result<CuttlefishConfig> InitializeCuttlefishConfiguration(
624624 std::string default_enable_virtiofs = " " ;
625625 std::string comma_str = " " ;
626626
627- CHECK (FLAGS_use_overlay || instance_nums.size () == 1 )
628- << " `--use_overlay=false` is incompatible with multiple instances" ;
629- CHECK (!instance_nums.empty ()) << " Requires at least one instance." ;
627+ CF_EXPECT (FLAGS_use_overlay || instance_nums.size () == 1 ,
628+ " `--use_overlay=false` is incompatible with multiple instances" );
629+ CF_EXPECT (!instance_nums.empty (), " Requires at least one instance." );
630+
630631 auto rootcanal_instance_num = *instance_nums.begin () - 1 ;
631632 if (FLAGS_rootcanal_instance_num > 0 ) {
632633 rootcanal_instance_num = FLAGS_rootcanal_instance_num - 1 ;
@@ -859,16 +860,17 @@ Result<CuttlefishConfig> InitializeCuttlefishConfiguration(
859860 }
860861 } else if (vhost_user_vsock_vec[instance_index] ==
861862 kVhostUserVsockModeTrue ) {
862- CHECK (tmp_config_obj.vm_manager () == VmmMode::kCrosvm )
863- << " For now, only crosvm supports vhost_user_vsock" ;
863+ CF_EXPECT_EQ (tmp_config_obj.vm_manager (), VmmMode::kCrosvm ,
864+ " For now, only crosvm supports vhost_user_vsock" ) ;
864865 instance.set_vhost_user_vsock (true );
865866 } else if (vhost_user_vsock_vec[instance_index] ==
866867 kVhostUserVsockModeFalse ) {
867868 instance.set_vhost_user_vsock (false );
868869 } else {
869- CHECK (false )
870- << " --vhost_user_vsock should be one of 'auto', 'true', 'false', but "
871- << vhost_user_vsock_vec[instance_index];
870+ return CF_ERRF (
871+ " --vhost_user_vsock should be one of 'auto', 'true', 'false', but "
872+ " got '{}'" ,
873+ vhost_user_vsock_vec[instance_index]);
872874 }
873875
874876 if (use_random_serial_vec[instance_index]) {
@@ -1197,10 +1199,12 @@ Result<CuttlefishConfig> InitializeCuttlefishConfiguration(
11971199 // streaming, webrtc setup
11981200 instance.set_webrtc_assets_dir (webrtc_assets_dir_vec[instance_index]);
11991201
1200- auto tcp_range = ParsePortRange (tcp_port_range_vec[instance_index]);
1202+ std::pair<uint16_t , uint16_t > tcp_range =
1203+ CF_EXPECT (ParsePortRange (tcp_port_range_vec[instance_index]));
12011204 instance.set_webrtc_tcp_port_range (tcp_range);
12021205
1203- auto udp_range = ParsePortRange (udp_port_range_vec[instance_index]);
1206+ std::pair<uint16_t , uint16_t > udp_range =
1207+ CF_EXPECT (ParsePortRange (udp_port_range_vec[instance_index]));
12041208 instance.set_webrtc_udp_port_range (udp_range);
12051209
12061210 // end of streaming, webrtc setup
0 commit comments