Allow to test an ASSERT (like the crashdump test)

This commit is contained in:
Klaus Basan
2019-07-25 18:38:55 +02:00
committed by Mat Sutcliffe
parent f6690136f2
commit 33cd96c2e3
7 changed files with 62 additions and 13 deletions

View File

@@ -99,8 +99,9 @@ namespace BlackGui
if (sGui && sGui->isSupportingCrashpad())
{
ui->cb_CrashDumpUpload->setChecked(CCrashHandler::instance()->isCrashDumpUploadEnabled());
connect(ui->pb_SimulateCrash, &QPushButton::released, this, &CInternalsComponent::simulateCrash);
connect(ui->cb_CrashDumpUpload, &QCheckBox::toggled, this, &CInternalsComponent::onCrashDumpUploadToggled);
connect(ui->pb_SimulateCrash, &QPushButton::released, this, &CInternalsComponent::simulateCrash, Qt::QueuedConnection);
connect(ui->pb_SimulateAssert, &QPushButton::released, this, &CInternalsComponent::simulateAssert, Qt::QueuedConnection);
connect(ui->cb_CrashDumpUpload, &QCheckBox::toggled, this, &CInternalsComponent::onCrashDumpUploadToggled);
}
else
{
@@ -345,10 +346,23 @@ namespace BlackGui
}
const QMessageBox::StandardButton reply = QMessageBox::question(this, "crash simulation", "Really simulate crash?", QMessageBox::Yes | QMessageBox::No);
if (reply != QMessageBox::Yes) { return; }
if (!sGui || reply != QMessageBox::Yes) { return; }
sGui->simulateCrash();
}
void CInternalsComponent::simulateAssert()
{
if (CBuildConfig::isReleaseBuild())
{
QMessageBox::information(this, "ASSERT simulation", "Not possible in release builds!");
return;
}
const QMessageBox::StandardButton reply = QMessageBox::question(this, "ASSERT simulation", "Really create an ASSERT?", QMessageBox::Yes | QMessageBox::No);
if (!sGui || reply != QMessageBox::Yes) { return; }
sGui->simulateAssert();
}
void CInternalsComponent::onCrashDumpUploadToggled(bool checked)
{
if (sGui && sGui->isSupportingCrashpad())