mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 08:21:24 +02:00
Fixed handling of traceFileOption. Moved last to main.
This commit is contained in:
parent
b59795e71c
commit
8394bb57b2
2 changed files with 19 additions and 39 deletions
|
@ -723,36 +723,11 @@ extern DisplayPluginList getDisplayPlugins();
|
||||||
extern InputPluginList getInputPlugins();
|
extern InputPluginList getInputPlugins();
|
||||||
extern void saveInputPluginSettings(const InputPluginList& plugins);
|
extern void saveInputPluginSettings(const InputPluginList& plugins);
|
||||||
|
|
||||||
// Parameters used for running tests from the command line
|
|
||||||
|
|
||||||
bool setupEssentials(int& argc, char** argv, const QCommandLineParser* parser, bool runningMarkerExisted) {
|
bool setupEssentials(int& argc, char** argv, const QCommandLineParser* parser, bool runningMarkerExisted) {
|
||||||
const char** constArgv = const_cast<const char**>(argv);
|
const char** constArgv = const_cast<const char**>(argv);
|
||||||
|
|
||||||
qInstallMessageHandler(messageHandler);
|
qInstallMessageHandler(messageHandler);
|
||||||
|
|
||||||
// HRS: I could not figure out how to move these any earlier in startup, so when using this option, be sure to also supply
|
|
||||||
// --allowMultipleInstances
|
|
||||||
auto reportAndQuit = [&](const char* commandSwitch, std::function<void(FILE* fp)> report) {
|
|
||||||
// Do something about this:
|
|
||||||
const char* reportfile = getCmdOption(argc, constArgv, commandSwitch);
|
|
||||||
// Reports to the specified file, because stdout is set up to be captured for logging.
|
|
||||||
if (reportfile) {
|
|
||||||
FILE* fp = fopen(reportfile, "w");
|
|
||||||
if (fp) {
|
|
||||||
report(fp);
|
|
||||||
fclose(fp);
|
|
||||||
if (!runningMarkerExisted) { // don't leave ours around
|
|
||||||
RunningMarker runingMarker(RUNNING_MARKER_FILENAME);
|
|
||||||
runingMarker.deleteRunningMarkerFile(); // happens in deleter, but making the side-effect explicit.
|
|
||||||
}
|
|
||||||
_exit(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
reportAndQuit("--protocolVersion", [&](FILE* fp) {
|
|
||||||
auto version = protocolVersionsSignatureBase64();
|
|
||||||
fputs(version.toLatin1().data(), fp);
|
|
||||||
});
|
|
||||||
|
|
||||||
const int listenPort = parser->isSet("listenPort") ? parser->value("listenPort").toInt() : INVALID_PORT;
|
const int listenPort = parser->isSet("listenPort") ? parser->value("listenPort").toInt() : INVALID_PORT;
|
||||||
|
|
||||||
|
|
|
@ -64,8 +64,6 @@ int main(int argc, const char* argv[]) {
|
||||||
|
|
||||||
setupHifiApplication(BuildInfo::INTERFACE_NAME);
|
setupHifiApplication(BuildInfo::INTERFACE_NAME);
|
||||||
|
|
||||||
// grep -E 'getCmdOption|QCommandLineOption|cmdOptionExists' 'interface/src/Application.cpp'
|
|
||||||
|
|
||||||
QCommandLineParser parser;
|
QCommandLineParser parser;
|
||||||
parser.setApplicationDescription("Overte");
|
parser.setApplicationDescription("Overte");
|
||||||
QCommandLineOption helpOption = parser.addHelpOption();
|
QCommandLineOption helpOption = parser.addHelpOption();
|
||||||
|
@ -178,11 +176,6 @@ int main(int argc, const char* argv[]) {
|
||||||
"no-launcher",
|
"no-launcher",
|
||||||
"Do not execute the launcher."
|
"Do not execute the launcher."
|
||||||
);
|
);
|
||||||
/*QCommandLineOption overrideScriptsPathOption(
|
|
||||||
SCRIPTS_SWITCH,
|
|
||||||
"Set scripts <path>",
|
|
||||||
"path"
|
|
||||||
);*/
|
|
||||||
QCommandLineOption defaultScriptOverrideOption(
|
QCommandLineOption defaultScriptOverrideOption(
|
||||||
"defaultScriptsOverride",
|
"defaultScriptsOverride",
|
||||||
"Override defaultsScripts.js.",
|
"Override defaultsScripts.js.",
|
||||||
|
@ -204,12 +197,12 @@ int main(int argc, const char* argv[]) {
|
||||||
);
|
);
|
||||||
QCommandLineOption traceFileOption(
|
QCommandLineOption traceFileOption(
|
||||||
"traceFile",
|
"traceFile",
|
||||||
"Probably writes a trace to a file?",
|
"Probably writes a trace to a file? Only works if \"--traceDuration\" is specified.",
|
||||||
"path"
|
"path"
|
||||||
);
|
);
|
||||||
QCommandLineOption traceDurationOption(
|
QCommandLineOption traceDurationOption(
|
||||||
"traceDuration",
|
"traceDuration",
|
||||||
"Only works if \"--traceFile\" is provided.",
|
"Probably a number of seconds? Only works if \"--traceFile\" is specified.",
|
||||||
"value"
|
"value"
|
||||||
);
|
);
|
||||||
QCommandLineOption clockSkewOption(
|
QCommandLineOption clockSkewOption(
|
||||||
|
@ -230,7 +223,7 @@ int main(int argc, const char* argv[]) {
|
||||||
QCommandLineOption quitWhenFinishedOption(
|
QCommandLineOption quitWhenFinishedOption(
|
||||||
"quitWhenFinished",
|
"quitWhenFinished",
|
||||||
"Only works if \"--testScript\" is provided."
|
"Only works if \"--testScript\" is provided."
|
||||||
); // Should probably also work on testResultsLocationOption.
|
); // Should probably also be made to work on testResultsLocationOption.
|
||||||
QCommandLineOption fastHeartbeatOption(
|
QCommandLineOption fastHeartbeatOption(
|
||||||
"fast-heartbeat",
|
"fast-heartbeat",
|
||||||
"Change stats polling interval from 10000ms to 1000ms."
|
"Change stats polling interval from 10000ms to 1000ms."
|
||||||
|
@ -306,6 +299,17 @@ int main(int argc, const char* argv[]) {
|
||||||
parser.showHelp();
|
parser.showHelp();
|
||||||
Q_UNREACHABLE();
|
Q_UNREACHABLE();
|
||||||
}
|
}
|
||||||
|
if (parser.isSet(protocolVersionOption)) {
|
||||||
|
FILE* fp = fopen(parser.value(protocolVersionOption).toStdString().c_str(), "w");
|
||||||
|
if (fp) {
|
||||||
|
fputs(protocolVersionsSignatureBase64().toStdString().c_str(), fp);
|
||||||
|
fclose(fp);
|
||||||
|
return 0;
|
||||||
|
} else {
|
||||||
|
qWarning() << "Failed to open file specified for --protocolVersion.";
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static const QString APPLICATION_CONFIG_FILENAME = "config.json";
|
static const QString APPLICATION_CONFIG_FILENAME = "config.json";
|
||||||
QDir applicationDir(applicationPath);
|
QDir applicationDir(applicationPath);
|
||||||
|
@ -345,15 +349,16 @@ int main(int argc, const char* argv[]) {
|
||||||
// Early check for --traceFile argument
|
// Early check for --traceFile argument
|
||||||
auto tracer = DependencyManager::set<tracing::Tracer>();
|
auto tracer = DependencyManager::set<tracing::Tracer>();
|
||||||
const char * traceFile = nullptr;
|
const char * traceFile = nullptr;
|
||||||
float traceDuration;
|
float traceDuration = 0.0f;
|
||||||
if (parser.isSet(traceFileOption)) {
|
if (parser.isSet(traceFileOption)) {
|
||||||
traceFile = parser.value(traceFileOption).toStdString().c_str();
|
traceFile = parser.value(traceFileOption).toStdString().c_str();
|
||||||
if (parser.isSet(traceDurationOption)) {
|
if (parser.isSet(traceDurationOption)) {
|
||||||
traceDuration = parser.value(traceDurationOption).toFloat();
|
traceDuration = parser.value(traceDurationOption).toFloat();
|
||||||
|
tracer->startTracing();
|
||||||
} else {
|
} else {
|
||||||
traceDuration = 0.0f;
|
qWarning() << "\"--traceDuration\" must be specified along with \"--traceFile\"...";
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
tracer->startTracing();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
PROFILE_SYNC_BEGIN(startup, "main startup", "");
|
PROFILE_SYNC_BEGIN(startup, "main startup", "");
|
||||||
|
@ -410,7 +415,7 @@ int main(int argc, const char* argv[]) {
|
||||||
instanceMightBeRunning = false;
|
instanceMightBeRunning = false;
|
||||||
}
|
}
|
||||||
// this needs to be done here in main, as the mechanism for setting the
|
// this needs to be done here in main, as the mechanism for setting the
|
||||||
// scripts directory appears not to work. See the bug report
|
// scripts directory appears not to work. See the bug report (dead link)
|
||||||
// https://highfidelity.fogbugz.com/f/cases/5759/Issues-changing-scripts-directory-in-ScriptsEngine
|
// https://highfidelity.fogbugz.com/f/cases/5759/Issues-changing-scripts-directory-in-ScriptsEngine
|
||||||
// It is currently also done in "Application.cpp". Not sure if necessary.
|
// It is currently also done in "Application.cpp". Not sure if necessary.
|
||||||
/*if (parser.isSet(overrideScriptsPathOption)) {
|
/*if (parser.isSet(overrideScriptsPathOption)) {
|
||||||
|
|
Loading…
Reference in a new issue