assert stop

pull/22796/head
deanlee 4 years ago
parent b42e591291
commit 0b4482b916
  1. 10
      selfdrive/ui/soundd.cc

@ -121,13 +121,15 @@ void test_sound() {
} }
void run_test(Sound *sound) { void run_test(Sound *sound) {
static QMap<AudibleAlert, int> stats; static QMap<AudibleAlert, std::pair<int, int>> stats;
for (auto i = sound->sounds.constBegin(); i != sound->sounds.constEnd(); ++i) { for (auto i = sound->sounds.constBegin(); i != sound->sounds.constEnd(); ++i) {
QObject::connect(i.value().first, &QSoundEffect::playingChanged, [s = i.value().first, a = i.key()]() { QObject::connect(i.value().first, &QSoundEffect::playingChanged, [s = i.value().first, a = i.key()]() {
if (s->isPlaying()) { if (s->isPlaying()) {
bool repeat = a == AudibleAlert::CHIME_WARNING_REPEAT || a == AudibleAlert::CHIME_WARNING2_REPEAT; bool repeat = a == AudibleAlert::CHIME_WARNING_REPEAT || a == AudibleAlert::CHIME_WARNING2_REPEAT;
assert(s->loopsRemaining() == repeat ? QSoundEffect::Infinite : 1); assert(s->loopsRemaining() == repeat ? QSoundEffect::Infinite : 1);
stats[a]++; stats[a].first++;
} else {
stats[a].second++;
} }
}); });
} }
@ -135,8 +137,8 @@ void run_test(Sound *sound) {
QThread *t = new QThread(qApp); QThread *t = new QThread(qApp);
QObject::connect(t, &QThread::started, [=]() { test_sound(); }); QObject::connect(t, &QThread::started, [=]() { test_sound(); });
QObject::connect(t, &QThread::finished, [&]() { QObject::connect(t, &QThread::finished, [&]() {
for (int n : stats) { for (auto [play, stop] : stats) {
assert(n == test_loop_cnt); assert(play == test_loop_cnt && stop == test_loop_cnt);
} }
qApp->quit(); qApp->quit();
}); });

Loading…
Cancel
Save