Changeset 90117 in vbox
- Timestamp:
- Jul 9, 2021 11:45:26 AM (4 years ago)
- Location:
- trunk/src/VBox/ValidationKit/utils/audio
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/utils/audio/vkat.cpp
r90100 r90117 114 114 { 115 115 VKAT_TEST_OPT_COUNT = 900, 116 VKAT_TEST_OPT_DAEMONIZE,117 VKAT_TEST_OPT_DAEMONIZED,118 116 VKAT_TEST_OPT_DEV, 119 117 VKAT_TEST_OPT_GUEST_ATS_ADDR, … … 149 147 { "--quiet", 'q', RTGETOPT_REQ_NOTHING }, 150 148 { "--verbose", 'v', RTGETOPT_REQ_NOTHING }, 149 { "--daemonize", AUDIO_TEST_OPT_CMN_DAEMONIZE, RTGETOPT_REQ_NOTHING }, 150 { "--daemonized", AUDIO_TEST_OPT_CMN_DAEMONIZED, RTGETOPT_REQ_NOTHING }, 151 151 { "--debug-audio", AUDIO_TEST_OPT_CMN_DEBUG_AUDIO_ENABLE, RTGETOPT_REQ_NOTHING }, 152 152 { "--debug-audio-path", AUDIO_TEST_OPT_CMN_DEBUG_AUDIO_PATH, RTGETOPT_REQ_STRING }, … … 169 169 { "--outdir", VKAT_TEST_OPT_OUTDIR, RTGETOPT_REQ_STRING }, 170 170 { "--count", VKAT_TEST_OPT_COUNT, RTGETOPT_REQ_UINT32 }, 171 { "--daemonize", VKAT_TEST_OPT_DAEMONIZE, RTGETOPT_REQ_NOTHING },172 { "--daemonized", VKAT_TEST_OPT_DAEMONIZED, RTGETOPT_REQ_NOTHING },173 171 { "--device", VKAT_TEST_OPT_DEV, RTGETOPT_REQ_STRING }, 174 172 { "--pause", VKAT_TEST_OPT_PAUSE, RTGETOPT_REQ_UINT32 }, … … 632 630 case 'e': return "Exclude the given test id from the list"; 633 631 case 'i': return "Include the given test id in the list"; 634 case VKAT_TEST_OPT_DAEMONIZE: return "Run in background (daemonized)";635 case VKAT_TEST_OPT_DEV: return "Use the specified audio device";636 632 case VKAT_TEST_OPT_GUEST_ATS_ADDR: return "Address of guest ATS to connect to"; 637 633 case VKAT_TEST_OPT_GUEST_ATS_PORT: return "Port of guest ATS to connect to [6042]"; … … 676 672 bool fPcmSigned = true; 677 673 678 bool fDaemonize = false;679 bool fDaemonized = false;680 681 674 const char *pszGuestTcpAddr = NULL; 682 675 uint16_t uGuestTcpPort = ATS_TCP_DEF_BIND_PORT_GUEST; … … 746 739 return RTMsgErrorExitFailure("Not yet implemented!"); 747 740 748 case VKAT_TEST_OPT_DAEMONIZE:749 fDaemonize = true;750 break;751 752 case VKAT_TEST_OPT_DAEMONIZED:753 fDaemonized = true;754 break;755 756 741 case VKAT_TEST_OPT_DEV: 757 742 rc = RTStrCopy(TstEnv.szDev, sizeof(TstEnv.szDev), ValueUnion.psz); … … 805 790 if (RT_FAILURE(rc)) 806 791 return RTGetOptPrintError(ch, &ValueUnion); 807 }808 }809 810 /*811 * Daemonize ourselves if asked to.812 */813 if (fDaemonize)814 {815 if (!fDaemonized)816 {817 if (g_uVerbosity > 0)818 RTMsgInfo("Daemonizing...");819 rc = RTProcDaemonize(pGetState->argv, "--daemonized");820 if (RT_FAILURE(rc))821 return RTMsgErrorExit(RTEXITCODE_FAILURE, "RTProcDaemonize: %Rrc\n", rc);822 return RTEXITCODE_SUCCESS;823 }824 else825 {826 if (g_uVerbosity > 0)827 RTMsgInfo("Running daemonized ...");828 792 } 829 793 } … … 1182 1146 { 1183 1147 /* 1184 * Init IPRT and globals.1148 * Init IPRT. 1185 1149 */ 1186 RTEXITCODE rcExit = RTTestInitAndCreate("AudioTest", &g_hTest); 1187 if (rcExit != RTEXITCODE_SUCCESS) 1188 return rcExit; 1150 int rc = RTR3InitExe(argc, &argv, 0); 1151 if (RT_FAILURE(rc)) 1152 { 1153 RTPrintf("RTR3InitExe() failed with %Rrc\n", rc); 1154 return RTMsgInitFailure(rc); 1155 } 1156 1157 /* 1158 * Daemonize ourselves if asked to. 1159 */ 1160 bool fDaemonize = false; 1161 bool fDaemonized = false; 1162 1163 for (int i = 1; i < argc; i++) 1164 { 1165 const char *psz = argv[i]; 1166 if (!RTStrICmp(psz, "--daemonize")) 1167 { 1168 fDaemonize = true; 1169 continue; 1170 } 1171 else if (!RTStrICmp(psz, "--daemonized")) 1172 { 1173 fDaemonized = true; 1174 continue; 1175 } 1176 } 1177 1178 if (fDaemonize) 1179 { 1180 if (!fDaemonized) 1181 { 1182 rc = RTProcDaemonize(argv, "--daemonized"); 1183 if (RT_FAILURE(rc)) 1184 return RTMsgErrorExit(RTEXITCODE_FAILURE, "RTProcDaemonize() failed with %Rrc\n", rc); 1185 1186 RTMsgInfo("Starting in background (daemonizing) ..."); 1187 return RTEXITCODE_SUCCESS; 1188 } 1189 /* else continue running in background. */ 1190 } 1191 1192 /* 1193 * Init test and globals. 1194 * Note: Needs to be done *after* daemonizing, otherwise the child will fail! 1195 */ 1196 rc = RTTestCreate("AudioTest", &g_hTest); 1197 if (RT_FAILURE(rc)) 1198 return RTMsgErrorExit(RTEXITCODE_FAILURE, "RTTestCreate() failed with %Rrc\n", rc); 1189 1199 1190 1200 #ifdef RT_OS_WINDOWS … … 1198 1208 */ 1199 1209 static const char * const g_apszLogGroups[] = VBOX_LOGGROUP_NAMES; 1200 intrc = RTLogCreate(&g_pRelLogger, RTLOGFLAGS_PREFIX_THREAD, "all.e.l", "VKAT_RELEASE_LOG",1201 1210 rc = RTLogCreate(&g_pRelLogger, RTLOGFLAGS_PREFIX_THREAD, "all.e.l", "VKAT_RELEASE_LOG", 1211 RT_ELEMENTS(g_apszLogGroups), g_apszLogGroups, RTLOGDEST_STDERR, NULL /*"vkat-release.log"*/); 1202 1212 if (RT_SUCCESS(rc)) 1203 1213 RTLogRelSetDefaultInstance(g_pRelLogger); … … 1268 1278 if (RT_SUCCESS(rc)) 1269 1279 { 1270 rcExit = pCmd->pfnHandler(&GetState);1280 RTEXITCODE rcExit = pCmd->pfnHandler(&GetState); 1271 1281 RTMemFree(paCombinedOptions); 1272 1282 return rcExit; -
trunk/src/VBox/ValidationKit/utils/audio/vkatInternal.h
r89962 r90117 478 478 enum 479 479 { 480 AUDIO_TEST_OPT_CMN_DEBUG_AUDIO_ENABLE = 256, 480 AUDIO_TEST_OPT_CMN_DAEMONIZE = 256, 481 AUDIO_TEST_OPT_CMN_DAEMONIZED, 482 AUDIO_TEST_OPT_CMN_DEBUG_AUDIO_ENABLE, 481 483 AUDIO_TEST_OPT_CMN_DEBUG_AUDIO_PATH 482 484 }; … … 509 511 case AUDIO_TEST_OPT_CMN_DEBUG_AUDIO_PATH: \ 510 512 g_pszDrvAudioDebug = (a_ValueUnion).psz; \ 511 break 513 break; \ 514 case AUDIO_TEST_OPT_CMN_DAEMONIZE: \ 515 break; \ 516 case AUDIO_TEST_OPT_CMN_DAEMONIZED: \ 517 break; 512 518 513 519 #endif /* !VBOX_INCLUDED_SRC_audio_vkatInternal_h */
Note:
See TracChangeset
for help on using the changeset viewer.